refactor reading from mesh files
add missing docstring
introduce MeshBase
selecting Mesh class is not required
introduce Mesh factory function
move __init__ to first place
remove ugly hack

Which changes class during object initialisation.
Merge pull request #410 from firedrakeproject/refactor-mesh

Refactor mesh code. Removes ugly hack self.__class__ = QuadrilateralMesh.