Use the same "wide stencil" everywhere.

Added the "grid_max_stencil_width" configuration parameter (default is
2, "-calving eigen_calving" sets it to 3). IceGrid::max_stencil_width is
gone.

This commit also adds "assert(...)" macros in all the places we update
ghosts locally. This should help with making sure that all the fields
that are used have enough ghosts.

This should fix the crashing with "-calving eigen_calving" (as of the
previous commit).
Silence CMake warnings (for now).
Turn "Mask" in to a namespace (instead of a class).
Try to support both old and new (>= 3.0) CMake versions.
fixed a minor bug in ocean coupler, fix should be considered for stable0.5 too
add one reference: Karniadakis and Sherwin
fix one ref
add a ref, and fiddle with them
Make "const IceModelVec" usable.

This will make it safer for a PISM component to provide access to its
fields (we will be able to provide read-only access now).
Pass EnthalpyConverter to enthSystem by const reference.
Specify units in a doxygen comment.
Ensure that storage for a column solution is allocated.
Create helper functions for creating more PISM fields.
Define commands \dx, \dy, \dz, \dt in doxygen.
Update links for C++ classes in BOMBPROOF docs.
Cosmetic changes in a regression test.
Create a Python wrapper for enthSystemCtx.
Change the IceModelVec3::setValColumnPL() signature.

(Use std::vector<double> instead of a "double*" pointer.)
Start cleaning up documentation of enthSystemCtx.
Add some code for single-column enthalpy solver tests.