Cpr preconditioner

This adds the option to use CPR preconditioning to solve the linear systems resulting from a fully implicit black-oil simulation. The method used is close to the one described in the article by Gries, Stuben et al (SPE 163608).

A few notes:
 - Activate the cpr preconditioner with the parameter use_cpr=true.
 - We do not at the moment use an AMG solver for the elliptic part, but BiCGStab/ILU0.
 - The outer iterations for the full systems are done using GMRES, and the rest of the system (after accounting for the elliptic update) is preconditioned using ILU0.
 - There is absolutely no user control over any aspects of the process (choice of solvers, tolerances, verbosity etc.).

When running with use_cpr=true, runtime for the SPE9 case is reduced (on my computer) from 1715 seconds (with UMFPACK) to 174 seconds.