PETSc linear solver class

Including two compilation warning corrections.

commit 920fe22f2dd8e4aa5e1e1a012474e254387cfe51
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Tue May 6 15:12:54 2014 +0200

    Complete PETSc solver wrapper

commit ac4505aa7890d944c75b28ed8154a56ca59b9f1e
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Mon May 5 18:13:11 2014 +0200

    New PETSc solver test

commit c88efb737e512f7c9360a7ce3be1257cf7dc8d9f
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Mon May 5 11:41:07 2014 +0200

    Classify KSP and PC options for PETSc

commit a1575c81a736e8a2a26dd9b7cb10e3ef2a951720
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Fri May 2 17:18:42 2014 +0200

    Split files of PETSc options

commit 726e93a9db2350339738ee2bf903a4ab01263642
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Fri May 2 17:01:04 2014 +0200

    LU configuration (compiled)

commit 3d9c7f3fd3ab2285c76dbff928c1b65febe462f1
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Fri May 2 16:52:03 2014 +0200

    General template for PETSc solver configuration (compiled)

commit ac64c755b575ee448dd214f9e9fdc4da8db21147
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Wed Apr 30 18:03:38 2014 +0200

    Organize the option data

commit 5abf2fd64be950fc675901f06e03da52efa0e97c
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Mon Apr 28 18:13:19 2014 +0200

    Add a template funtion to set PC options.

commit 6d17b57645084ba39b0d513153058efd0d7aceb2
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Mon Apr 28 17:01:45 2014 +0200

    Add ILU and SOR options

commit ee5f50187e6952c043741d38905bf424841d8345
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Thu Apr 24 18:03:48 2014 +0200

    Add more solver option

commit bba799fc6b284230cf759c83c9bfcd98683eae78
Author: Wenqing Wang <wenqing.wang@ufz.de>
Date:   Thu Apr 17 17:17:30 2014 +0200

    Modify the PETSc linear solver class