Addresses issue #2927 .  Ability to bound variables during nonlinear solve.  Note, this only works for two phase problems at the moment - multiphase is not a difficult generalisation, but i have not yet worked out what actually needs to be bounded, and also i have not yet thought about the user interface for the multiple kinds of bounding that are possible.  **THERE ARE POTENTIAL BUGS IN RichardsMultiphaseProblem.C REGARDING THREADS AND/OR PARALLELISM THAT I WOULD LIKE SOMEONE TO CHECK**  Note that compared with the previous PR i have used local_nodes_begin and local_nodes_end - this gets around segfaults in multiproc jobs but i don't know if it is correct!