Stratified Learning: a general-purpose statistical method for improved learning under Covariate Shift