DMPlex: Fix improper preallocation
- The size for a closure is the sum
DMPlex: Added DMPlexCreateCohesiveSubmesh()
- Needed to have submesh faces in the same order as cohesive cells
Merge branch 'knepley/pylith' into next

* knepley/pylith:
  DMPlex: Added DMPlexCreateCohesiveSubmesh() - Needed to have submesh faces in the same order as cohesive cells
  DMPlex: Fix improper preallocation - The size for a closure is the sum
DMPlex: Add argument to DMPlexCreateSubmesh() that allows user to choose stratum
- Added Fortran binding
- Updated test
Merge branch 'knepley/pylith' into next

* knepley/pylith:
  DMPlex: Add argument to DMPlexCreateSubmesh() that allows user to choose stratum - Added Fortran binding - Updated test