Making residual/jacobian zero-outing configurable
Tidy up the PetscNonlinearSolver class

* making data members protected (to allow derived classes to access them)
* adding getters
* making callbacks friend with the class
Merge pull request #120 from andrsd/zero-out-res-jac-in-petsc-nonlin-solver

Making residual/jacobian zero-outing configurable