Fairness Through Causal Awareness: Learning Latent-Variable Models for Biased Data