Made Residual struct definition public, and documented.

This is in anticipation of implementing CPR preconditioning.
Interface and simple implementation of fully implicit system solver.

This is done in preparation for adding a cpr-preconditioning solver
for the fully implicit black-oil system. The existing implementation
that concatenates the whole system and passes it to some linear solver
has been moved from a private function of FullyImplicitBlackoilSolver
to the class FullyImplicitSolverSimple.

To enable this decoupling, the residual struct has been copied out
of the FullyImplicitBlackoilSolver class and is now an independent
struct: FullyImplicitBlackoilResidual. The opportunity has been used
to replace the field mass_balance with material_balance_eq, which is
more precise.
Use new linear solver interface in fully implicit solver.

This includes:
 - Using the class FullyImplicitBlackoilResidual instead of
   in-class definition for the residual object.
 - Changing residual field name mass_balance to material_balance_eq.
 - Letting the simulator and solver classes accept a
   FullyImplicitSystemSolverInterface instead of a LinearSolverInterface.
 - In sim_fibo_ad and test_implicit_ad, instantiate class
   FullyImplicitSystemSolverSimple, replicating existing behaviour.
Merge branch 'cpr-preconditioning' into cpr-preconditioning-again

Conflicts:
	examples/sim_fibo_ad.cpp
	examples/test_implicit_ad.cpp
	opm/autodiff/FullyImplicitBlackoilSolver.cpp
	opm/autodiff/SimulatorFullyImplicitBlackoil.cpp
	opm/autodiff/SimulatorFullyImplicitBlackoil.hpp
Changed docs/comments after review suggestions.

Suggestions from B. Skaflestad and A. Lauser.
Renamed class {FullyImplicit->Linearised}BlackoilResidual.
Modify for renamed file.

Forgot this for the initial renaming commit.
Renamed more classes.

FullyImplicitSystemSolver{Interface, Simple} -> NewtonIterationBlackoil{Interface, Simple}.
Change suggested by B. Skaflestad.
Rename method linearSolve()->computeNewtonIncrement().
Fix typo in #include (Autodiff -> AutoDiff).
Merge branch 'master' into cpr-preconditioning-again

Conflicts:
	CMakeLists_files.cmake
	examples/test_implicit_ad.cpp
Add forgotten #include <config.h>.
Update CpGrid version to use new classes.
Merge pull request #118 from atgeirr/cpr-preconditioning-again

Cpr preconditioning again