segbuffer: fix bug in which seg->used was not reset

The fast path of PetscSegBufferExtractInPlace() was not resetting seg->used.
segbuffer: add PetscSegBufferGetSize() and PetscSegBufferUnuse()

* PetscSegBufferGetSize: the total size is usually needed for other purposes,
  but it's known by the segbuffer so we may as well make it available in case
  the caller isn't counting themselves.

* PetscSegBufferUnuse: if the caller is trying to amortize access, they might
  get more space than they actually need. This allows them to return that space.
segbuffer: create wrapper structure

The old structure exposed the linked list property of the implementation.
Now we have a simple wrapper structure so that implementation detail is
not leaked. This will also make it possible to implement some thread-safe
operations.
segbuffer: add PetscSegBufferGetInts() to encourage use of PETSC_RESTRICT
MatMatMult_SeqAIJ_SeqAIJ_Sort: new implementation using char flags and sorting

The char 'seen' array is significantly faster than PetscBT, due to the
cost of bit manipulation. Since the index space is very manageable in
size, the char array is better.

In my tests so far, this implemenation is between 10 and 50% faster than
the default.
segbuffer: g++ does not like casting int*restrict* to void*, void** okay
MatSOR_SeqBAIJ: protect against zero vector length
MatSOR: added test ex43, currently fails
MatSOR, test ex43: removed BlockMat from test
MatSOR_SeqBAIJ: refactor, enable nonzero initial guess.

At the cost of a couple of conditionals per iteration, the various
MatSOR_SeqAIJ_# functions are combined.

Passes make testexamples, including recently added ksp test ex43
update output file of nightly test
TS: Remove last call to TSMonitor() with step=-1

* Call TSMonitor() at the beginning of each step.
* Update a some monitors to inspect ts->reason to detect the call after
  the last (possibly interpolated) step.
* TSSolve() requires users to pass a non NULL solution vector
  when interpolation at the final time is set.
* Add error checking.
Merge branch 'jed/matmatmult-sort' into jed/fix-optionsinsertfile-large

Branch contains segbuffer enhancements in addition to
MatMatMult_SeqAIJ_SeqAIJ_Sort. I need the segbuffer enhancements, one of
which is a portability fix that was applied after the
MatMatMult_SeqAIJ_SeqAIJ_Sort commit.

* jed/matmatmult-sort:
  segbuffer: g++ does not like casting int*restrict* to void*, void** okay
  MatMatMult_SeqAIJ_SeqAIJ_Sort: new implementation using char flags and sorting
  segbuffer: add PetscSegBufferGetInts() to encourage use of PETSC_RESTRICT
  segbuffer: create wrapper structure
  segbuffer: add PetscSegBufferGetSize() and PetscSegBufferUnuse()
  segbuffer: fix bug in which seg->used was not reset
PetscOptionsInsertFile: fix overflow for large file sizes [fix #39]

New implementation uses PetscSegBuffer to incrementally allocate storage
for all the options.  This also fixes the O(n^2) complexity arising from
repeated calls to strcat() in the old version.
MatMatMultSymbolic_SeqAIJ_SeqAIJ: switch to "sort" version as default

This version is showing approximately 25% performance improvement in
GAMG tests and so far is never slower.
PCML: set N_nonzeros so thatfine-grid operator complexity is reported

With the version of ML in Trilinos (but not with stand-alone ML, fetched
by --download-ml), failure to set this variable results in bogus values
(sometimes negative) being given, instead of reasonable output like:

         Smoothed Aggregation : operator complexity = 1.358396e+00
Mat: move new MatSOR macros to a common header blockmatmult.h

These macros would be useful for condensing the BAIJ triangular solve
code, for example.
Mat: add MatSOR/BAIJ test to nightlies

Renamed test from ex43.c to ex44.c to avoid conflict with the test added
in:

  commit 5e413dd6fd6600b756f7aad0b07aba8c3b20e975
  Author: Paul Mullowney <paulm@txcorp.com>
  Date:   Mon Apr 1 11:51:31 2013 -0600

      ksp tests: new tests for ksp algorithms using aijcusparse methods
ExodusII: update to 5.24

* Tarball is now exodus-* instead of exodusii-*
* Most code was moved to subdirectory 'exodus'
* Remove obsolete header directories (cbind/include and forbind/include)
  from installed search
ExodusII: require HDF5 due to transitive dependency via --enable-netcdf-4