Merge branch 'jed/fix-memcpy-in-string.h' into maint

* jed/fix-memcpy-in-string.h:
  petscsys.h: find memcpy and memset in string.h
Do not use PetscViewerASCIIGetStdout() after all registered objects have been destroyed
in PetscFinalize() therwise zeroed out ascii viewer is returned from PETSc internal communicator if
not all PETSc objects have been destroyed and -options_left is used

Reported by: william.perkins@pnnl.gov
Merge branch 'prbrune/snes-linesearchnormfix' into maint

* prbrune/snes-linesearchnormfix:
  SNESLINESEARCHBT: PetscInfo() for redundant print that changed example output
  SNESLINESEARCHBT: Fix casting to double for monitoring
  SNESLINESEARCHBT: Limit use of PetscInfo and use the monitor instead
  SNESLINESEARCHBT: Fixed missing case of setting the norms.
MatColoring: Add a generalized collection of weight computations.
MatColoring: Make weight computation directly use AIJ for speed.
MatColoring: MatColoringCreateWeights() replaces duplicate routines.
Merge branch 'knepley/feature-plex-bc' into knepley/feature-plex-periodic

* knepley/feature-plex-bc:
  DMPlex: Cells in the boundary marker should not be interpreted as constraints
  DMPlex: Fix declaration
  TS ex11: Replace ApplyBC() with DMPlexInsertBoundaryValuesFVM()
  DMPlex: Fixed DMPlexInsertBoundaryValuesFVM() - Remove redundant variable - Handle absence of id
  TS ex11: Reorganization so that physics creation functions can take the DM - This required splitting the options block
  DMPlex: DMPlexInsertBoundaryValues() --> DMPlexInsertBoundaryValuesFEM(), and added an FVM version - The FVM version depends on precalculated geometry which needs to be pulled into the library
  TS ex11: Remove unused RHSFunction()
  TS ex11: Remove Model from BC func - We do not want opaque objects outside of the context so we can pull this in the library
  TS ex11: Now use TS infrastructure for local functions
  DMPlex: Fix signature for IFunction - Note that the time is still not being passed down to the pointwise function
  TS: Added local versions of assembly to DMTS - I was not sure whether everything was necessary
  SNES ex62: Updated output
  SNES ex12: Removed outdated BC handling - Removed unnecessary label completion - Updated output
  DMPlex: Switched FEM assembly routines to use DMPlexInsertBoundaryValues()
  DMPlex: Now DMPlexInsertBoundaryValue() only sets values for the given label - Added DMPlexProjectFunctionLabelLocal()
  DMPlex: Now DMCreateSection() calls DMPlexLabelAddCells() - This is necessary for FEM boundary conditions, but we do not want it for FVM so we need some control divergence here soon
  DMPlex: Added DMPlexLabelAddCells() - Needed this for FEM BC
  DMPlex: Fix Gmsh test
SNES ex62: Marked MF tests as broken
SNES ex12: Starting to cleanup test names
PetscFE: Added a view for Basic
SNES ex12: Cleanup structure
- Use PetscFECreateDefault()
fixes for ml matrix preallocation when nontrivial global orderint
MatColoring: Added an initial implementation of smallest-last weights.
DMPlex: Updated test output
- The DMView was changed
DMPlex: Fix handling of Fortran NULLs
DMPlex: Needed a custom Fortran wrapper for DMPlexInterpolate() because now we require that the incoming mesh be NULL
DM: Added preliminary support for periodic coordinates
- Added DMGet/SetPeriodicity() which is for clipping coordinates to a periodic box
DMPlex: Added DMPlexLocalizeCoordinates()
- This pulls coordinates from vertices to the cell, which allows discontinuities
- We use this for periodic problems
DMPlex: Allow geometry routines to recognize periodic quads
DMPlex: If domain is periodic, uniform refinement of coordinates will respect this