Cubedsphere

This code implements a cubed sphere mesh, with gnonomic projection. I also left some code there for the dmplex refinement approach, which currently causes dmplex to segfault, since dmplex doesn't expect embedded quads in 3D.
Can we please have this function refactored without all the copy-paste code?