DMPlex: Added declaration
DMInterpolation: Fixed declarations
DMPlex: clones are already setup
DMPlex: DMGetSubDM_Plex() had a memory leak
- It was also doing extra work
Fix for snes/examples/tutorials/ex58 output after line search

Was "fixed" without addressing the underlying problem in 0f5f3b0f35806d5b8241732cfab42366610c5baf
f1ab69e3b3a0b45fb61c0e722fed61bbd3dde8fd fixed the VI line search, and this updates the output.
some fixes in using AMG 'aggregates' in GASM smoothers
fixed bug with ksp/ex56 using non-real scalars and near null space interface. Changed ex56 to use near null space in test 'make runex56'.
SNES ex12: Added full tests, and a p-Laplacian mode
DM: Barry missed a %G
SNES: Fixed FAS docs
Sys: Allow PetscObjectDereference() on NULL pointer
DMPlex: Added coarseMesh member to Plex
- This will be used by DMCoarsen()
- It will be set during refinement
DMPlex: Added DMRefineHierarchy() and DMCoarsen() support
- DMRefineHierarchy() sets coarseMesh, so DMRefine() does not cause the initial mesh to keep on living
- DMCoarsen() returns coarseMesh
- These are handled by DMSetFromOptions(), which I had to move
PetscBT: Added PetscBTNegate()
DMPlex: Added parallel stage to DMPlexOrient()
- The coarse solver is not implemented, so only works for p=2
MatColoring: Fix for MPI types used in PetscSF reductions

Reported-by: Jed Brown <jedbrown@mcs.anl.gov>
Mat: Added MatGetLayouts() which allows for access to row and column layouts.
DMPlex: Fixed some small mistakes
- Initialize var
- Declare at the top of the block
- Added cone size call
SNES ex12: Add a test (not working yet) which uses FAS
DT: PetscQuadrature is now a PetscObject
- Added PetscQuadratureGet/SetData()