Add initial skeleton of CPR preconditioning class.

Implementation is identical to NewtonIterationBlackoilSimple for now.
Add choice of solution strategies to simulators.

The following is changed in this commit:
 - The constructor for NewtonIterationBlackoilSimple now takes
   a parameter object instead of a linear solver.
 - The fully implicit black-oil simulators can now use the CPR
   preconditioning strategy (by passing use_cpr=true) or the
   simple strategy (the default).
Note that as of this commit, the CPR preconditioning still has
not been implemented properly, and behaves just like the simple
strategy.
Enable user control of linear solver for full and elliptic system.

This is done by using parameter subgroups 'cpr_elliptic' and 'cpr_full'.
If groups are not present, parent (root) group will be queried.
Added some utility functions for the CPR preconditioner.

The new functions are:
    - eliminateVariable()
    - recoverVariable()
    - isDiagonal()
Let computeNewtonIncrement() eliminate well equations.

In its current state, we still don't do CPR, but eliminate the well equations,
solve the resulting system and finally recover the eliminated well unknowns.
Add preliminary version of CPR preconditioner class.

This version simply does ILU(0) preconditioning.
Instantiate new preconditioner.

Using it so far only for comparing to existing solver.
Pass elliptic matrix part to CPR preconditioner.

For now, the top left part is passed with no summing of equations or checks
for diagonal dominance.
Initial implementation of CPR preconditioner done.

With some caveats:
  - scaling factors for material balance equations and pressure are hardcoded.
  - pressure system is formed from sum of material balance equations, with
    no check for diagonal dominance.
Remove unused code.
Add convergence check, local whitespace cleanup.
Cite CPR article by Gries, Stuben et al.
Put creation of elliptic system in separate function.
Remove unused data members and parameters.
Remove usage of DUNE_UNUSED_PARAMETER.
Change error message.
Update Eigen requirements.
Merge pull request #140 from atgeirr/cpr-preconditioning

Cpr preconditioner
Bugfix: local variable shadowed proper variable.
Warning removal: const on return types not needed.