PU weighting

Adding weighting of neutral PF candidates to the PF sequence. This is more powerful treatment of neutral PU isolation than simple delta beta corrections (see https://indico.cern.ch/event/322762/ and slides by Yuta). The metric used is ln(pt/DeltaR). 
The full formula is
![image](https://cloud.githubusercontent.com/assets/4130483/3409840/36069260-fdde-11e3-91a0-23b6c3146887.png)

On top of original design by @bachtis added also interface to reco::Candidates and so the reweighting module should be able to run also on miniAOD. Note that this is only necessary condition to read miniAODs and the actual functionality has not been tested.

This PR only adds extra code that is not executed by default and can be activated using
```
--customise RecoParticleFlow/Configuration/customizeDeltaBetaWeights_cfi.customize
```
   -> this will create collection of weighted photons and weighted neutral hadrons and use them instead of regular collections from PfNoPU for calculation of electron, muon and photon isolation

partial activation for some objects is also possible:
```
--customise RecoParticleFlow/Configuration/customizeDeltaBetaWeights_cfi.customizeElectronsOnly
``` 
  -> this will use weighted collection only for electrons. The muons and photons will remain the same
```
--customise RecoParticleFlow/Configuration/customizeDeltaBetaWeights_cfi.customizeMuonsOnly
```
   -> this will use weighted collection only for muons. The electrons and photons will remain the same
```
--customise RecoParticleFlow/Configuration/customizeDeltaBetaWeights_cfi.customizePhotonsOnly
```  
 -> this will use weighted collection only for photons. The muons and electrons will remain the same