Use regularised Jacobian when solving pressure system.
Terminate process in case of factorisation/solution failure.

Provide moderately informative diagnostic message in this case.
Clarify diagnostic message in pressure solve.

Word missing in commit a95fbf0.
Complete Addition tests.
Declare operator?() as 'const'.

None of operator+(), operator-(), operator*() or operator/() modify
their object.  These methods are thus naturally declared as 'const'.
Implement first cut at upwind-mobility weighting for transport

Specifically,

  - Introduce a new class, UpwindSelector<Scalar> which provides a
    selection service (method select()) to pick out a quantity across
    an interface in the upwind direction.

    Method select() is implemented only for the case of no
    counter-current flow (i.e., no effects of gravity and/or capillary
    pressure).  The selector is affected through applying an explicit
    sparse matrix to each quantity.  This may be inefficient, but only
    measurements will tell.

  - Split function fluxFunc<ADB>() into two components,
    phaseMobility<ADB>() and fluxFunc<ADB>().  The former computes
    phase mobilities (per cell) for water and oil in a subset of the
    grid cells and the latter computes the flux function (for water,
    i.e., the first phase) based on a (2-) vector of phase
    mobilities--either per cell or per internal interface.

  - Compute explicit phase mobilities (per cell) in the non-linear
    loop before employing the upwind selector to pick out proper
    upwind mobilities per (internal) interface to define the quantity
    'fw_face' which was previously computed by an arithmetic average.
Add MRST function for 'sim_simple' development
Use S_o=1 as initial condition.

This is the case in 'sim_simple.cpp', too.
Add MATLAB-compatible output of ADB::M values.

This is mostly intended as an interim aid in development.  Not enabled
if 'NDEBUG' is defined.
Incorporate transmissibility into water flux definition.

This means that we're computing the correct solution for dt=0.0005 (as
verified by 'sim_simple.m', but we're still failing larger time steps).
Do real splitting based on total flux/fractional flow

We are now able to compute the correct solution with dt=0.5, but the
convergence rate is dismal.
Make Darcy flux actually constant.

The definition from commit 6f22d10 included a non-zero derivative
which interfered with the automatic differentiation solver.  Using a
fully constant Darcy flux enables using dt=150 while still computing
the correct solution.

While here, output the solution (s1) using more precision/digits for
comparison with 'sim_simple.m'.
Decrease amount of output and count iterations in the process.

Specifically, output the solution only at the end (in MATLAB
compatible format, for easy comparison) and annotate the diagnostic
output (i.e., cpu time and residual norm) with the iteration number.
Unfinished version of Armadillo-using AD class added.
Merge remote-tracking branch 'bska/master'