detect the presence of std::shared_ptr

since GCC 4.4 supports it, make it mandatory as well...
use std::shared_ptr instead of boost::shared_ptr

our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
add a few config.h macros useful for dune-common
also test for std::unique_ptr
replace boost::scoped_ptr by std::unique_ptr

thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
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.
Merge pull request #316 from rolk/316_material

OPM Porsol now depends on OPM Material
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into devel
Merge pull request #313 from andlaus/use_std_shared_ptr

Use std shared ptr
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into devel