Major JME developments for 73x, Redux

Rebase of #6273. Copy-and-pasting the text of that PR : 

This PR contains a large number of JME developments for 73x :

Updates to use new fastjet 3.1.0 (cms-externals/fastjet#8)
Updates to new API for n-subjettiness for fastjet-contrib 1.014 (cms-externals/fastjet-contrib#2)
Added changes to PUPPI from the code review here (#5500)
Added several new tools, none of which are to be executed in RECO until further notice :
Constituent subtraction
SoftKiller
SoftDrop
PUPPI
Two notes :

There is a new package, CommonTools/PileupModules. It would aid development to have these separate from CommonTools/ParticleFlow (which is focused on the "top projection" code).
The current output is set up as an intermediate stage where PFCandidates are produced along with a valueMap of four vectors. This is a stand-in until I make a migration to the ThinnedCollection, but this is better treated together rather than piecemeal.

Also adding @violatingcp and @nhanvtran to watch this.
Wouldn't it be better to call this and similar ValueMaps  ak8PFJetsCHSSoftDropMass? That would make it clearer what these ValueMaps contain. In addition, the code is quite generic and one could store other quantities, such as jet Pt, in a similar way so 'Links' is maybe a bit too generic. What do you think?