DMPlex: Added F90 interface for DMPlexComputeCellGeometry()
Added DMDA{Set/Get}NumLocalSubDomains()

Allow for the creation of multiple subdomains per process; next is implementation
DMDAGet/SetNonOverlappingRegion() for subdomain DAs

These functions generalize the capability of defining inner and outer subdomains to the case where the nonoverlapping
portion might not just be the processor local bit.
Noncollective version of DMDACreatePatchIS()

Replaces global communcication hash in natural coordinates with
tedious calculation of processor offsets and such.  IS now has
PETSC_COMM_SELF rather than the da's comm.
Added support for multiple subdomains per processor to DMDA

This treats the local block a lot like the rank partitioning in DMDACreate1/2/3D().  It also fixes the problem of having
too big an overlap; now the overlap is properly truncated at the boundaries.
DMPlex: Added prototype for DMPlexCopyCoordinates(), and docs for that and DMPlexInterpolate()
DMPlex: Allow DMPlexComputeCellGeometry() to work with interpolated meshes
DMPlex ex7: Check that |J| is nonzero for each cell in interpolated mesh
Merge branch 'master' of bitbucket.org:petsc/petsc into knepley/plex
DMPlex: Fix for cell geometry (unbelievable screwup)
DMPlex: Fix default |J| for DMPlexComputeCellGeometry()
SNEX ex12 and ex52: Remove CTetGen warnings from test output
- Fixed this in CTetGen repository
SNEX ex12: Ignore generated headers
DMPlex: Changed orientation convention and fixed many bugs
- Tetrahedra now all have outward facing normals
  - We have to flip input from TetGen and ExodusII
- Hexahedra now all have outward facing normals
  - We have to flip input from ExodusII
- Fixed bug with orientation -1 (now encoded as -faceSize)
- Fixed parallel bug with DMPlexInterpolate()
- Fixed determinant calculation for Tet and Hex
- Fixed bug with reversing orientation, now must also start on the opposite vertex
  - This solution in GetTransitiveClosure() is suboptimal, should change the definition of negative orientation
DMPlex ex7: Orientations now working properly
- Added check for inverted cells
- Added check that vertex cones match for interpolated and non-interpolated meshes
- Fixed hex and tet tests
- Support reading ExodusII files and use mesh generators
Builder: Fixed specification of multiple tests to run
Merge branch 'jed/plex-scalable-partition-closure' of bitbucket.org:petsc/petsc into knepley/plex
Builder: Fixed regression requirements
FEM Generation: We now allow a *_bd.h header that holds boundary discreization
DMPlex: Added integration over boundary to DMPlexComputeResidualFEM()
- Added quadBd, f0/1BdFuncs to PetscFEM struct
- Needs to be tested