Early work.  Goal is to remove PISMTillCanHydrology and its derived.  New PISMNullTransportHydrology to be implemented.  Till dynamics will be a method available to all hydrologies.  Thats the plan, anyway; this bit does not compile.
Move hydrology diagnostics into separate files.  Implement tillwat and tillwp diagnostics.  (But PISMHydrology code for these not implemented.  Does not compile.)
Merge branch 'dev' into till-hydro-dynamics
Merge branch 'dev' into till-hydro-dynamics
Merge branch 'dev' into till-hydro-dynamics
Refactoring.  The base class PISMHydrology holds a Wtil variable because all
models need somewhere to put water, and all models need to report what the
Mohr-Coulomb relation needs.  The new class PISMNullTransportHydrology updates
Wtil by a new (more stable, but easy) implicit method.  This new class can't
conserve water and it does not attempt to report conservation.  The "till can"
aspect is de-emphasized but still present.

The new names for -hydrology choices are null,routing,distributed.  Till is
always present but it can be turned off with -hydrology_tillwat_max 0.0 or
setting that config constant to 0.

Changes to PISMDistributedHydrology are still needed so that it has correct
coupling W <--> Wtil; at this point it does not compile.
spliting routing from distributed ... these are long files
PISMullTransportHydrology needs a bwat diagnostic method because it does not have bwat as a state variable (it has tillwat instead)
cleaning up init actions; still does not compile because not all needed methods have implementations, and because evolution of till is not in PISMRoutingHydrology::update()
this version compiles, but is untested; several parameters need setting in src/pism_config.cdl
through talking with Constantine, became aware of issues and added FIXMEs that break compilability
Addressed some FIXMEs.  Moved stuff into base class:  Now PISMNullTransportHydrology and PISMRoutingHydrology share the exact same models for till and subglacial water pressure, and those are implemented in base class PISMHydrology.
One remaining FIXME needs addressing in PISMDistributedHydrology.
Now it compiles.  Results mostly make sense, but the major known issues are: (1) Wtil <--> W exchange in Routing can make W < 0; (2) yield stress calculation needs to read tillwp not bwp; (3) most runs like SeaRISE Greenland should switch to tillwp diagnostic not bwp, unless using -hydrology {routing,distributed}.
Merge branch 'dev' into till-hydro-dynamics

Conflicts:
	src/base/hydrology/PISMDistributedHydrology.cc
	src/base/hydrology/PISMHydrology.cc
	src/base/hydrology/PISMHydrology.hh
Mohr-Coulomb gets till_water_pressure().
Update config list and a script to match revisions bwp-->tillwp and so on.
in nbreen example we can (should?) turn off tillwat mechanism
merge 6e5f47d into till-hydro-dynamics
Merge commit '40e07459' into till-hydro-dynamics