PETSc Jacobian code.

Again, copied from libMesh. Expect most of this to be on the libMesh
side in the future. For now, want the flexibility to experiment.
Compatibility with GRINS solver infrastructure.
Compile time fixes