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.
Seems this struct data is not used. May be directly -->
```
 std::vector<std::size_t> _dirichlet_bc_global_ids;
 std::vector<double> _dirichlet_bc_values;
```