Life History Evolution in Heterogeneous Environments: A Review of Theory