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.
Merge pull request #313 from andlaus/use_std_shared_ptr

Use std shared ptr