Test support for C++11 shared/unique_ptr

Implement compile/run tests for presence of memory header and support
for std::shared_ptr and std::unique_ptr with correct behaviour.
Add additional compile fail test for ownership semantics of unique_ptr.
If tests pass, set HAVE_CXX11_MEMORY_SHARED_PTR and
HAVE_CXX11_MEMORY_UNIQUE_PTR CMake variables. Document these variables
in the CheckCXX11Features module and link them to the equivalent
FNAL cpp0x definitions in th README.
Remove top level check for <tuple>

Remove check for <tuple> header as a full test for this now exists
in CheckCXX11Features.