Population dynamics in spatially heterogeneous systems with drift: The generalized contact process.