Added SNESGet/SetLagJacobian/PreconditionerPersists()

Lags through several solves -- good for preconditioners, good for timestepping.
Fixed the behavior of left-pc SNESes preconditioning right-pc SNESes.
Control over initial SNES func/norm in one place; inner ASPIN fix.
SNESSetCountersReset() lets SNES to keep nfuncs and linear_its for many solves
SNESComposite: Additive or Multiplicative composition of different SNESes.
Added SNESCompositeSetDamping() to set damping for subsolvers
Small fixes for SNESComposite fortran stubs
Suggested documentation fixes for SNESSetLagJacobian/PreconditionerPersists()
SNESComposite() with optimal additive combination
Robustness improvements to SNESComposite optimal combination
Added classical AMG to GAMG
Namespacing in gamg/classical.c
Fixed one-processor memory corruption bug for classical GAMG.

Not the normal way those things typically go..
Fixed PCGAMG_Classical so that thresholding decreases fill as bugs are fixed
Tests for persistent lagging of the Jacobian or Preconditioner
Fix to the threshold calculation
Fixed a number of bugs in Classical GAMG
Added test examples for classical AMG
Complex fixes for classical
Use classname in object for object name when calling PetscObjectPrintClassNamePrefixType() instead of some string with less precise name passed in