Fix forward port 72x

This is the pull request which aligns CMSSW_7_2_X to CMSSW_7_1_X. The only merge conflicts were in the GT (where the 72X version has been picked up) and in `DataFormats/PatCandidates/src/TauPFSpecific.cc`, where again I picked up the `CMSSW_7_2_X` version.

List of pull requests which will be picked up by merging this:

- #4110
- #4001
- #3996
- #4140
- #4179
- #4197
- #4207
- #4210
- #4216
- #4226
- #4233
- #4209
- #4244
- #4261
- #4223
- #4257
- #4263
- #4254
- #4224
- #4268
- #4270
- #4272
- #4280
- #4288
- #4266
- #4245
- #4221
- #4238
- #4264
- #4160
- #4304
- #4302
- #4204
- #4118
- #4102
- #4318
- #4326
- #4328
- #4327
- #4305
- #4333
- #4316
- #4334 
- #4335 

Ignored (as they were ignored in 72X):

- #4325
- #4246
- #4294
- #3774