Implemented parallel (MPI)  CG with subdomain deflation

The method allows to solve sparse linear systems on distributed
machines and has very good scalability.
Generalize deflation over backends and iterative methods