JME 73x : Add new PU mitigation algos, update to new fastjetcontrib API, Rebase of 6496

I fixed David's fix here : 

https://github.com/cms-sw/cmssw/pull/6529

and rebased on the latest 73x. 

This also updates the code following Slava's code review. 



Cut-and-paste of previous PR text : 

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.