Finite Element Methods for Two-Phase Flow in Heterogeneous Porous Media