Explicitly construct the ScalarProduct, and SequentialInformation.

This patch refactors the calls to the dune-istl solvers.
The SeqScalarProduct, and SequentialInformation is now explicitly
constructed and later used to construct the smoothers
generically. Aditionally the linear operator (MatrixAdapter) is
constructed before calling the various solver dependent solve
routines. This means that we pass the linear operator to these
functions instead of the matrix.

While this does not change the behaviour of the code it is a
preparatory step to support parallel solvers. These parallel
solvers only differ in the type of the scalarproduct and
linear operator used from the sequential ones.

There are more patches and PRs coming up to support parallel solver from dune-istl.
This time have chosen to use small PRs which are easier to review.