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).
Sounds good. I choose it like this since the whole matrix is also simply called matrix_type. 
But I think long understandable typedefs are never bad.