Check <functional> for C++11 binding

Implement compile/run tests for the following C++11 features in the
<functional> header:

- std::bind
- std::function
- std::hash
- std::mem_fn
- std::ref/cref

A compile fail test is also performed on std::cref checking that
the reference cannot be modified. For each test that passes, set a
CMake variable HAS_CXX11_FUNCTIONAL_<NAME> to true (false otherwise),
where <NAME> is the uppercased name of the feature tested. For example,
the test for std::bind sets the variable named
HAS_CXX11_FUNCTIONAL_BIND. Document each variable in the
CheckCXX11Features module, and link to corresponding FNAL cpp0x
preprocessor definitions.

NB: The tests do not cover all C++11 features that <functional> may
supply. The auto keyword is not used to keep tests orthogonal, but this
may not be required or recommended.
Export tests of functional to defines in example header
Fix typo in cmakedefine for FPCLASSIFY