MatSchurComplement can now assemble Sp on demand.
More consistent matrix naming in arguments and docs to MatSchurComplement-related routines.
MatSchurComplement now uses MatDiagonalScale to form Sp.  Factored out Sp constructor for consistency and reuse.
MatCreateSchurComplementPmat() now public.
PCFieldSplit implements SELFP preconditioning for Schur using MatSchurComplementGetPmat to assemble Sp.
MatSchurComplement: Allow lumping of A00 when forming Sp.
PCFieldSplit: Schur can use lumping with MatSchurComplement.
Merge branch 'master' into barry/wirth-fusion-materials
bad manual merge needs to be fixed
this is what happens when branches hang around too long

Conflicts:
	src/ts/examples/tutorials/advection-diffusion-reaction/ex10.c
MatSchurComplement can use different approximations to inv(A00) when forming Sp.
PCFieldSplit: enable extraction of MatSchurComplement to configure it.
MatSchurComplementXXXSubMatrices renamed for consistency.
removed use of SNESFunction, SNESJacobianFunction etc as names in function arguments

Was ugly and stupid. Instead just use reasonable names and reference SNESFunction etc to
cause the manual page hyperlinks to be made
Merge branch 'barry/rm-snesfunction-nonsense' into next
MATSOLVERKLU: Added configure script for KLU
MATSOLVERKLU: Added KLU solver interface
%D format in illegal printf() statement
MatColoring: Fixed typo in the MINPACK variants
MatColoring: Use the viewer when printing in MatColoringApply()
Merge branch 'master' into barry/wirth-fusion-materials
fuck git