Linsolver petsc

Ref https://github.com/qilicun/opm-core/pull/2#issuecomment-66555235 and the old pull request https://github.com/OPM/opm-core/pull/590

This is a continuation with my fork as the base.