Remove poorly designed IceModel methods (see #196).

IceModel::attach_surface_model() and IceModel::attach_ocean_model() were
a bad idea. For now, to override PISM's selection of surface and ocean
models one has to create a class derived from IceModel and re-implement
IceModel::allocate_couplers(). (Glint2 does this already.)
Clean up IceModel::checkThinNeigh().
Remove a duplicate variable.

(We need only one of "ice_rho" and "ice_density".)
Post-process to ensure basal temp. continuity. See #244.

Before this commit enthSystemCtx::initThisColumn() was modifying the
enthalpy field to ensure continuity of ice temperature at the base. Now
we do it during the post-processing step.

Also: now we try to recover energy conservation at the base in the
enthalpy code.