Compute volume fractions and depth fractions used as weights

Volume fractions are the fraction of the block which is used to store
residual or mobile parts. Depth fractions are the same, but for the
entire column downto each level.
Use norm of permeability tensor as weight

To get a scalar rel.perm. in the end, use the Frobenius norm of the
abs.perm. as weights instead of the full tensor.
Abs. perm. weights for each block in column
Get rel. perm. for one mobile phase but the other present

There is always connate brine left in the CO2 phase, and there is
CO2 in the parts where the plume has been but is not anymore. These
will be impedients for the phase that is left, and we must know the
scaling factor (rel.perm.) that must be used to account for that.
Add necessary reference to std::string

Some other header must have provided this in front of us before, which
is why it wasn't caught earlier. (It is in general not possible to
forward declare std::string, because the exact type is not specified in
the standard!)
Remove dependency on Boost in header

We don't provide the iterator_range interface anymore (use RunLenView
instead!), so there is no need to have this dependency in the header.
Wrap simulator object to do VE translation effort-less

There are certain stages that is necessary to do when setting up a
VE simulation; this wrapper will take care of those for you.
Fix sample so that it uses wrapper class

Old customizations of the simulation is removed and replaced with the
logically correct way of viewing it: The simulator is wrapped by a VE
model.

The changes in the 3D code is just indentation to match up with the new
2D version, so that it only literally changes two lines in the program!
Don't store Qt Creator backup files in version control
Interface for communicating state changes to VE model

The VE model needs to know the state at all times to figure out where
the plume has been and thus where there is now residual CO2, in order
to calculate the interface from coarse-scale saturations.
Encapsulate the dance necessary to communicate state

The state object is created possibly later than the rest of the
VE model, so it cannot be syntactically bound to it; this object
provides the bridge between an actual state object and the methods
in the VE model which handles state changes.
Filter simulation through VE model

Setup a VE model for the domain and case presented to us, and pass
it to the underlaying simulator.
Dimension upscaled state from the top surface grid
Forward updating of state to the fluid properties

When the simulator changes the state, the fluid properties object is
notified with the new saturations so it can update the internal state
accordingly.