Refactor dof table construction

Mainly moving createDofTable() function into LocalToGlobalIndexMap constructor.
This removes duplicate code from the GroundwaterFlowProcess and the SteadyDiffusion2D test.

Other important changes are of technical nature:
 - Iterator access for mesh's elements
 - Disable implementation of LocalToGlobalIndexMap for parallel environments. This was not implemented or tested anyway.
After extensive testing, I can not confirm your assumption about less computation.
I used clang for compilation and put the switch case into the outermost and middle (the for loop with `ms` variable) loops. Fastest execution, in number of executed instructions, for a 2d quad mesh with 100 elements were achieved with the switch case in the innermost loop.
We can discuss this later, if there is interest.