Compute final residual using SNESGetFunction

No need to have two implementations when one should work for all versions of PETSc.
Merge pull request #328 from libMesh/petsc

Compute final residual using SNESGetFunction