OPM Porsol now depends on OPM Material

In the new build scheme, the prerequisites of each module is declared
in this file as the canonical version, and everything else includes it.
detect the presence of std::shared_ptr

since GCC 4.4 supports it, make it mandatory as well...
add a few config.h macros useful for dune-common
also test for std::unique_ptr
add and use CMake modules for valgrind client requests and quadruple precision math
add test for <type_traits> to FindCXX11Features.cmake

I fogot this one yesterday...
add a cmake check for the abi::__cxa_demangle() function

this was also forgotten. sorry...
make the build system link to the "quadmath" library if it is supported

Thanks a lot to Roland Kaufmann for the support.
Allow packages to add source code to the project

By returning a ${package}_SOURCES variable with the names of the code,
it will be propagated to ${project}_SOURCES and subsequently compiled
into the library.

AGMG (Algebraic Multigrid) uses this functionality.
Make opm-core pick up AGMG through the standard list
Use system-provided MUMPS library for AGMG

This require us to compile in a small glue module which maps the
name of the internal routine to the system routine.
Enable use of parallel version of MUMPS

If we have enabled MPI, then we must call MPI_Init and MPI_Finalize
in the program anyway so we may as well use the parallel version of
MUMPS.
Use parallel version if and only if MPI is installed
Remove support for AGMG from the build system

AGMG is now under a closed-source license, meaning that results
obtained with this solver is not freely reproducible by others.
Its use is therefore discouraged.

As of version 2.3, the DUNE AMG parts are competitive, so there
is a free and open alternative.
Publicly depend on version of dune-grid

The interface of the class PersistentContainer changed between DUNE
2.2 and DUNE 2.3 in an incompatible way, so we need to present
different versions of the class depending on the version of DUNE linked
with. This changeset adds the version variables for dune-grid to the
list of publicly necessary #defines that must go into using
dune-cornerpoint.

Notice that this will cause the definition of DUNE_GRID_VERSION_XXX
to be added to the flags list of dune-cornerpoint. This can be seen as
either a bug or a feature. If you try to link first dune-cornerpoint to
one version and then to another version of DUNE later, there is a very
good chance that you'll end up with problems anyway.
CMake: add module for dune-localfunctions
add cmake modules to find ALUGrid and METIS
Finddune-grid.cmake: test for ALUGrid and METIS

ALUGrid is needed to avoid unresolved symbols if dune-grid was
compiled with it. METIS is used by the parallel version of
ALUGrid. (Although it is not open source...)
Add HAVE_CXA_DEMANGE config.h variable to Finddune-common.cmake

This will make Dune::classname usable on Dune master. (the 2.2 release
should be fine even without it.)
add cmake module to detect ewoms