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.
Agree, I'll remove it for this PR.
In general I think iterator access to elements does not break encapsulation. Asking (a mesh, for example) for internal container breaks encapsulation.