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.
why do you need to keep these commented lines?