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.
@davidlange6 & @Dr15Jones , do you have collaborators rights for this repo? I am afraid , Giulio is the only one who can merge this pull request. If one of you has rights and can merge then good otherwise I propose to use my fork https://github.com/smuzaffar/fastjet/commits/cms/v3.0.3 (cms/v3.0.3 branch+Chris patch+above fix) and include it in 14h00 IB?