Allow for easy exchange of preconditioners for the whole system inside the CPRPreconditioner.

With this patch to change the preconditioner for the whole system if more easy now. The default stays the same as before, ILU(0).
I assume this is the line to use when changing the preconditioner to ILU(n)? In that case I think the constructor arguments are in the wrong order, the relaxation should be last.