Dirichlet boundary condition for GroundwaterFlowProcess.

This adds initialization of boundary conditions (for now only the Dirichlet type) in groundwater flow process.
There are some new operators in the `ProcessVariable` class: `getMesh()` and boundary condition iterator access.
The `MeshNodeSearcher` class has a new method `getMeshNodeSearcher(mesh)` which creates a new `MeshNodeSearcher` for the given mesh and stores it in a private static variable, or returns an existing one.
Also after your changes I do not understand the resize of ```global_ids``` in this line and in line 72. Why do you need resize ```global_ids``` a second time?