Committing the BlatterStressBalance code.

This version is isothermal (so far) and does not compute the
volumetric strain heating (yet).

Also, we still use the no-slip boundary condition at the base
(although the code should work without it).

To implement this, I had to change some things elsewhere in PISM:

- the IceFlowLaw::effective_viscosity() interface (takes second
  invariant "gamma" as an argument; this way we can use the same
  effective_voscosity() code in 2D and 3D cases

- moved the computation of the basal frictional heating from SSA to
  ShallowStressBalance; this way we can re-use it in
  BlatterStressBalance.

- renamed "D2" -> "strain_heating_contribution" (for clarity).

To try it out, run

./ssa_testj -Mx 120 -My 120 -snes_monitor
mpiexec -n 4 ./blatter_test -i ssa_test_j.nc -snes_monitor -ksp_monitor -blatter_Mz 10 -Lz 800 -o_order zyx

This is *without* the multigrid method, which also works. Try adding
"-pc_type mg -pc_mg_levels 2".
one-letter change ... hmmm, perhaps the original code was written on an OS with a case-insensitive file system ... must cause lots of Jobs for people on other OSes ...
Moved the 'extern "C"' before the class declaration.

This should fix the compile-time error on Ubuntu.
Got rid of compiler warnings.

(gcc with "-pedantic" uses the C89 (C90?) standard, and this code uses some C99 features.)
Fixes #134 (in dev; -eigen_calving *requires* -part_grid).
Addressing #91.
Cleaning up doxygen comments.

(Switching to using Markdown instead of clunky doxygen commands for
external links, typewriter font, etc.)
Closes #91.
simplify and remove broken link
Renamed Sigma -> strain_heating throughout.
refactoring so that K is out of flux expressions and in its own routine, and adding power beta; does not compile
Renamed Sigma -> strain_heating.
Stronger emphasis on the fact that we require doxygen and graphviz to re-build source code browsers.
Renamed Sigma -> strain_heating throughout.
(cherry-picked from e4e9ee32188ab64a869196b9d9186e9160b001a4)
This form builds and runs.  Only tested with beta=2 so far.  Results from Test P are slightly different in value and slower (perhaps a lot slower).  I think the change that happened in the beta = 2 case is the change in the max(K W) code in PISMRoutingHydrology::adaptive_for_W_evolution().
Put computation of max(KW) in right spot.  Avoid unnecessary computation in beta=2 case.  Recovers full speed and exact regression on Test P.
Clarify units of k.  Switch Nbreen example over to Hewitt et al (2012) Table 1 parameter values for alpha, beta, k, W_r = h_r.  Looks good ... though its not clear what that means.
minor clarification of choices relative to literature
minor: edit of comment to match notation
I had gotten confused over the units of, and the size of, the hydraulic conductivity constant.  As a result I was working with really low-conductivity hydrology which implied unreasonably high W values (water thicknesses) and very fast run times.  With this commit the code (but not all the test cases) fully match the Schoof et al [2012] and Hewitt et al [2012] conventions.  The examples/nbreen/run.sh script and its override parameters in examples/nbreen/nbreen_config.cdl also match the Schoof/Hewitt work.  The model results for Nbreen then seem very reasonable relative the Schoof/Hewitt work.  (The results are more expensive computationally, but also more interesting physically!  The documentation in the private hydrolakes/ repo has not been fully updated to match yet.)  The Test P example cannot be used until it is inspected and updated; I think all we need to do is shorten the run.