Start to simplify MeshDomains.
Some more updates for simplifies MeshData.
Fix for reading MeshDomains from XML.
Mesh intialisation fix.
Remove white space.
Fix mesh intialisation in DirichletBC.
Ignore const version of MeshDomains::markers and add typemap for:

   MAPTYPE<KEY_TYPE::VALUE_TYPE>&

Previously we only outputted const maps
Update unit test for dict interface
 -- Unit test fails...
Fix issue reading cell-based mesh domain data from file.
A bunch of SubMesh fixes.
Reactive MeshDomain assignment.
Formatting fix.
Get restriction bcs working.

Pick correct cell to match with BC facet.
Tidy up order of includes.
Remove named markers from MeshDomains. Could not be reached.
Finish resolving circular dependencies with MeshDomains.
Formatting fixes.
Use std::vector in place of MeshFunction inside some refinement functions.
Work on removing MeshFunctions from MeshData.

Use plain std::vector to avoid circular dependency.
Use references in place of shared pointers in MeshData.