Use well to name mapping when copying the old well state to the new
With the introduction of shut wells the same ordering in the well states
can no longer be assumed. The well names is instead used to map the old
well state to the new. Also the partial_copying is moved into the
initialization.

Tested on SPE1, SPE3, SPE9 and Norne. (Do not change the SPEs and is
nessesary for the Norne)
Output the total mass balance residual
The residual output is changed from max residual to
total mass balance residual. In this way the output
resemble what is actually used as convergence criteria.
Solve submatrix system in the Schur complement
The non-diagonal elements in the sub-matrices in the Schur complement is
no longer ignored. Instead of assuming the matrix do be diagonal, and
compute the invert of the sub-matrix, small linear systems are solved
using superLU.

Tested on SPE3 and Norne. (With this fix a slightly modified norne runs
until 3292 days)
Change the maximum number of linear iteration
If we need more than 150 linear iterations, it's probably something
wrong, and we may be better of by restarting with smaller time-steps.
TODO: make it possible for the user to specify this number.
Output the scaled mass balance residuals
The mass balance residuals are multiplied by the porevolume divided by
time
Merge pull request #229 from totto82/output_conv

Output the total mass balance residual
Adressing comments in the PR
The following comments has been adressed
1. An array is used in stead of pair
2. is not empty is used instead of size>0 to check if the well has been
initialized before
3. const_iterator is used instead of iterator
4. partial copy is removed
5. WellMapType is no longer mutable
Merge pull request #228 from totto82/partial_copy2

Use well to name mapping when copying the old well state to the new
Adressing comments in the PR
1. The right hand side is solved only once
2. The solver is constructed directly with the matrix
3. const is added where it was missing
4. More commennts is added
5. Variable names are changed for clarification
Improve convergence output.
 - Add CNV{W,O,G} to output.
 - Make output a bit tighter.
 - Avoid printing extra newline and header for each iteration.
Fix: change a CNVO to CNVW in header printout.
Further output refinement.
Merge pull request #230 from totto82/fixSchur

Solve sub matrix systems in the Schur complement
Fix convergence output header (again).
Merge pull request #231 from atgeirr/modify-convergence-output

Improve convergence output.
BUGFIX. Currect scale of the mass balance residual
The mass balance residual is now currectly scaled with the time
increment divided by the sum of the pore volumes. Not the opposite.
Merge pull request #232 from totto82/fix_output

BUGFIX. Correcting the scaling of the mass balance residual
Improve performance of CPR preconditioner.

This restores the performance to approximately the level it had before
the change to support non-diagonal well jacobians, for SPE9. All changes
are to the eliminateVariable() method.
 - Explicitly compute and apply the inverse.
 - Change loop ordering to apply inverse only num_eq - 1 times, instead
   of (numeq - 1)^2.
 - Use UmfPackLU instead of SparseLU.
Merge pull request #233 from atgeirr/improve-cpr-performance

Improve performance of CPR preconditioner.