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.

Using SMatrix is fine in ths mva/noPU code is perfectly fine for me, but at some point it will conflict with the format of the MET class itself which requires a TMatrixD for the covariance matrix and for the significance calculation.
I can either "retransform" the SMatrix as a TMatrix or change the whole MET signficance calculation code switching from TMatrix everywhere to SMatrix.
I am in favor of the second option, but I want to be sure the two types of matrix are identical and can be used identically with similar results when inversions or other operations are made. Am I safe doing that?