Weak Galerkin Finite Element Methods for Partial Differential Equations