Renamed SNESSkipConverged --> SNESConvergedSkip.
Renamed SNESKSPEW_Pre/PostSolve --> KSPPre/PostSolve_SNESEW.
snes->ttol to be used only in convergence tests.
added seqij nonzerorowcnt used to determine flop count in MatMult_SeqAIJ()
changed seqbaij to count nonzero rows in assembly and use those values to compute flops in MatMult
removed Mat option for skipping checking of compressed row format since it is now free using the nonzerorowcnt previously introduced
config: avoid string argument to __attribute((deprecated))

Intel only supports __attribute((deprecated("string argument"))) when
`which gcc` returns a sufficiently recent version.  Cray likes to
configure libraries with different modules loaded than the user will
find in their default environment.  This indirect sensitivity to
environment is too fragile, so we have to avoid the feature entirely.
SNES: document SNESSkipConverged -> SNESConvergedSkip
KSP: rename KSPSkipConverged -> KSPConvergedSkip
KSP: rename KSPDefaultConverged* to KSPConvergedDefault*
SNES and KSP: add deprecation for *DefaultConverged and *SkipConverged

SNESSkipConverged, KSPSkipConverged, KSPDefaultConverged* were renamed
for consistency.  The renaming started before v3.4 with
SNESDefaultConverged -> SNESConvergedDefault, but left a lot of loose
ends.
unified PetscObjectStateXXX() commands. Fixed PetscObjectStateQuery() to PetscObjectStateGet()
refactored residuals by adding a 'residual' method to Mat
Sys: typedef PetscObjectState and change all accessors

State is used to manage caches of intermediate structures.  If state
overflowed, it would allow a cached value to be reused incorrectly,
leading to wrong results or possibly corruption.  In long runs, it is
conceivable for an object to undergo 2^32 state transitions between
encounters, thus it is important to use a 64-bit counter.  The typedef
is just for clarity.
Sys: convert object ID to 64-bit and add PetscObjectGetId()

Object Ids must never be reused.  If objects are created in iterations
(e.g., due to sloppy coding or adaptivity), a 32-bit Id could overflow
in a long simulation.  Use a typedef for clarity.
Sys: mark PetscObjectState modification as logically collective
Mat: fix Fortran interface for MatGetColumnNorms

bfort distinguishes between array[] and *pointer to decide whether the
Fortran interface should have an array or a scalar.

Reported-by: Elliott Sales de Andrade <qulogic@pidgin.im>
Merge branch 'jed/matgetcolumnnorms-fortran'

* jed/matgetcolumnnorms-fortran:
  Mat: fix Fortran interface for MatGetColumnNorms
Bib: Added Geosciences publication
gmake: use --print-directory with gmake targets. This enables emacs to find sourcefiles from compile messages