Local assembler for GroundwaterFlowProcess and LocalDataInitializer

~~This is follow up of #519 (Refactor dof table) and must not be merged before.~~
~~There are 5 commits in this PR starting at "[AL] Add back addToGlobal() in VectorMatrixAsm".~~
__Update:__ Rebased on master including the "Refactor dof table"

Three main changes included:
 - Add back the `VectorMatrixAssembler::addToGlobal()`: The local matrix/vector types are required in VectorMatrixAssembler otherwise, and having the `GlobalSetupType` already at hand the suggested way seems easier.
 - Add `LocalDataAssembler<ShapeFunction>` derived from `LocalDataAssemblerBase` in `ProcessLib::GroundwaterFlow` namespace. The base class is needed, because we store a vector of local assemblers in the process for each element or element type.
 - Add `LocalDataInitializer`, which calls the `LocalDataAssembler<ShapeFunction>::init()` function knowing the `ShapeFunction` type from the mesh element type passed by the `LocalAssemblerBuilder`.

That's it!

I already see that the documentation needs some updates/extensions; shall add soon.
When this code will be extended to parabolic equations, the time derivative contributions will probably be computed in the same place as the diffusion terms. So far we have only elliptic equation here.