Constraint Preconditioning of Saddle Point Problems