Hide C++11 features from header files

We want to compile third party libraries using these fastjet
headers using compiler options that may not include C++11 support
but still link to our libraries built with C++11. This requires
all C++11 constructs to either be removed from the headers or
hidden (in the case where their pre C++11 equivalents are binary
compatible).

This change also attempts to make it possible to compile all of
fastjet with a non C++11 compiler.

In addition, we have attempted to fulfill the request by the
fastjet maintainers to comment the CMS changes and explicitly state
that the changes are not sanctioned by the fastjet maintainers.
yes, that is the correct fix.