Causal Invariance and Machine Learning