Squashed commit of the following:

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
Correct some documentation and a string name according to the comments by Tom
Changes class names that have PC_KSP
Remove a commit about warnings
Revised accoring to the coments by Nori
Correct a tring name in a ptree
Merge remote-tracking branch 'ufz/master' into pr_petsc_solver
Set PETSc solve use command line option only according to the suggestion by Nori
Added a matrix member for PETScLinearSolver
Minor changes according to the comments by Nori
Changed PETSC_COMM_WORLD to MPI_COMM_WORLD in XML related test
Add gtest filter for MPI related tests
get some info of the solver status of PETSc
two typos in the message printing of PETSc solver
Merge remote-tracking branch 'ufz/master' into pr_petsc_solver
Changes a member name of PETScLinearSolver and others
Minor changes in names of two local variables and one printing message
changed one printing message
changed one word in comment
added std::before exit