A Causal Perspective on Meaningful and Robust Algorithmic Recourse