Integration of MVA/NoPU MET in central release

This PR contains the MVA and NoPU code the JetMET group wants to make available centrally, and eventually computed at the RECO and miniAOD level after discussion with the RECO/AT group.

This PR add the package RecoMET/METPUSubtraction, and add the pat configuration files needed for the MET uncertainty tool.
Several fixes and cleaning are also done on the patCaloMET configuration, the pileupjetid configuration, the pileupJetid training needed by the MVA and NoPU MET.

1.e+3 (a large number) is used on many places. Same for 0.5 (dR cut). Please define them once so they can be used throughout the code (in particular for the latter when the value is supposed to be the same). Instead of defining  1.e+3, a number you don't care about, you can choose to use std::numeric_limits<double>::max(). Just to avoid meaningless numbers.