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.
I, unfortunately, don't know how to avoid the `switch`, because the value of `order` is required at compile-time, but we passed it as a run-time dependent argument.
Moving it to the top of the function.