DMPlex: Generating UnitSquareMesh from a DMPlex object

All information required to build the function space is now derived from
the DMPlex object stored with the firedrake mesh. This currently works
only in serial with non-extruded meshes and it also changes the internal
facet numbering, but the UnitSquareMesh is now generated on-the-fly and
does not rely on the Fluidity interface anymore.
DMPlex: Generating UnitSquare and UnitCube meshes properly.