Fixed SNESComputeJacobianDefaultColor() in the case of multilevel PC

Before, the function value copy would fail when calling MatFDColorSetF() on
a coarse/submatrix.  Now we check that x1 is the actual SNES solution
before proceeding to copy.
Add a test example for TS + MG + MatFDColoring
Remove --with-dynamic-loading / PETSC_USE_DYNAMIC_LIBRARIES

This option was mostly redundant because normal shared libraries satisfy
all the same needs.  This commit adds the run-time option
-dynamic_library_preload that can be used to load/initialize all the
packages in advance, as used to be done when --with-dynamic-loading.

The PetscDLLibraryRegister_petscxxx functions have been kept, but are
not called unless -dynamic_library_preload is used.  The petsc-dev
discussion, "Why --with-dynamic-loading?" did not reach consensus about
whether this was ever useful, so it may also be removable.
Merge branch 'knepley/feature-dt-fem' into knepley/feature-fem-dgspace

* knepley/feature-dt-fem: (123 commits)
  SNES ex12: Fix buggy checkin
  Builder: strip test output before comparing
  PetscDualSpace: Pointer check barfs for function pointer
  Sys: Add ability to turn off CUBLAS initialization - This continually SEGVs on my Air
  SNES ex62: Updated test output - Matrix now prints attached nullspace indicator - 3D tests are wierdly different, they need to be verified by hand
  SNES ex12: Updated test output - Mostly for completed labels
  SNES ex12/62: Changed to new DMPlexProjectFunction() interface - Took DM out of main struct
  SNES ex12/62: Complete boundary label - Puts in edges in 3D - Perhaps should be moved to the creation routine
  PetscDualSpace: Fixed orientation of reference tetrahedron - Now this does not match FIAT
  PetscDualSpace: Fixed numDof for P0
  PetscDualSpace: Added PetscDualSpaceApply() for the action of a functional - Declared PetscDualSpaceGetFunctional()
  DMPlex: Updated ProjectFunction() to use PetscDualSpace for generic projection - Has not been tested with moment dofs - Accommodates vector functions
  DMPlex: Added support for INSERT_BC_VALUES in VecSetClosure()
  DMPlex: Fixed missing RestoreTransitiveClosure()
  DMPlex: Fixed optimized portion of VecGetClosure() for NULL input array
  DMPlex: Allow NULL array as input to DMPlexVecGetClosure()
  DMPlex: Fix VecGetClosure() when the array is input
  PetscFE: OpenCL is hardcoded for P0 coefficients right now
  SNES ex12: Added test cases for variable coefficient Laplace - The P1 tests reproduce the analytic linear coefficient
  PetscFE: Added auxiliary fields to PetscFEIntegrateJacobian() - Hooked it up to DMPlexComputeJacobian()
  ...
PetscQuadrature: Revamped
- Removed basis tabulation
- Shortened names
- Added PetscQuadratureView()
PetscSpace: Added a DG space
- Defined on a set of quadrature points
- Need tests
PetscFE: Fixed quadrature names for OpenCL
Sys: PetscContainerCreate must call PetscSysInitializePackage

Fixes "Invalid object classid 0" errors.

Reported-by: Barry Smith <bsmith@mcs.anl.gov>
Suggested-by: Matthew G. Knepley <knepley@gmail.com>
PetscQuadrature: Add a 0d corner case
PetscDualSpace: Add 0d corner case
Merge branch 'knepley/feature-fem-dgspace' into knepley/fix-fem-0d

* knepley/feature-fem-dgspace:
  PetscFE: Fixed quadrature names for OpenCL
  PetscSpace: Added a DG space - Defined on a set of quadrature points - Need tests
  PetscQuadrature: Revamped - Removed basis tabulation - Shortened names - Added PetscQuadratureView()
PetscDualSpace: Updated to new PetscQuadrature names
PetscObjectStateGet: fix stale comments about *StateQuery
Merge branch 'prbrune/snes-jacobiancolormgfix' into maint
Triangle: Fix build after gmake changes
DMPlex ex5: Fixed leaks
DMPlex ex3: Removed generator stuff, fixed output
- I think more precise tabulation delivers smaller discretization error
gmake: update triangle,tetgen with make.flags -> make.printdirflag change
gmake: fix 'make test' to use OMAKE_NOPRINTDIR
Merge branch 'jed/gnumake'