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
Merge branch 'prbrune/snes-jacobiancolormgfix' into maint
PCGAMG: add man page for PCGAMGType

Reported-by: Garth N. Wells <gnw20@cam.ac.uk>
Fix accidental creation of the matrices in SNESNCG used for linear analogue LS.
MatMPIBAIJSetPreallocationCSR() handled the input matrix entries incorrectly, it treated them as if each row of values
was provided ordered by row within the block rows instead of by block as it was originally designed to be.
Also added more discussion to the manual pages on the expected order of the values

Reported by Matteo Parsani <parsani.matteo@gmail.com> and Lisandro Dalcin <dalcinl@gmail.com>
Revert "MatMPIBAIJSetPreallocationCSR() handled the input matrix entries incorrectly, it treated them as if each row of values"

This reverts commit 7ec8086be61cb5e804513b1f606792b24a91d2ca which
changed the behavior of MatMPIBAIJSetPreallocationCSR() to use
consistent column alignment and left MAT_ROW_ORIENTED=PETSC_FALSE in
place in case of subsequent assemblies.
Merge branch 'prbrune/snes-removencgmatrix' into maint
SNES: fix copy/paste in man page
MatSchurComplement: Must initialize KSP package

(cherry picked from commit aec61823ab922ea128701e860263c03e2c8f2599)