Optimise local numbering from Plex

This merge optimises the derivation of Fenics-style local numberings for facets and DoFs from DMPlex entities. The reordering of cell closures is now performed using PETSc's C-interfaces directly and stored with the mesh so that local facet numberings can be computed more efficiently.