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
Merge branch 'dalcinl/opthandlers-destroy' into maint

* dalcinl/opthandlers-destroy:
  Fix PetscObjectDestroyOptionsHandlers() to support missing destroy function
Tests for persistent lagging of the Jacobian or Preconditioner
Merge branch 'prbrune/snes-npcjacobianlagging' into next

Conflicts:
	src/snes/examples/tutorials/makefile
Merge branch 'prbrune/snes-snescomposite' into next
release: fix missing release string in changes/34.html
setup.py: update for the new release naming scheme
Mat doc: align columns in preallocation diagrams

Noticed-by: Mikael Öhman <micketeer@gmail.com>
changed final argument to PetscPClose from PetscInt to int since this is an in returned from a system call
Merge branch 'barry/fix-petscpclose' into next
build/nightlyscripts: checkout required branch as 'detached'
so the builds are tolerant to deleted/recreated branches