DQM protobuf reads and writes now close the file descriptors properly.

Well, not properly, this is just a quick fix.
We should rewrite and avoid using ::open altogether.

(cherry picked from commit cda6b95575ec43d943392198651a5fe9972f35c8)
Fix a minor compilation mistake introduced in the previous commit.

(cherry picked from commit 3b9d0be4cc07deda185184ce1c6d9ec94522f839)
Add JsonWritingTimeoutPoolOutputModule.

This module adds two additional features (needed for the event display)
to the TimeoutPoolOutputModule:

1. file names now follow the DAQ/online convention (files are named
run0001111_lumi0000_streamLabel_hostname.root);

2. for every file written (and after the file is closed), the json file
containing some metadata is produced. This file signals DAQ
services to start merging/distribution of the .root file.

(cherry picked from commit b2e6c5e92ae5c9d5f087bc279cdc9a5cac8265ca)
Clean-up.
Fix b-tag discriminator.
add a customisation fragment to check EventSetup usage

customiseCheckEventSetup:
customise a process to
  - print the list of ESSources and ESProducers
  - add a module to print all available EventSetup data
  - add a module to print all the used EventSetup data

PrintEventSetupContent:
  - migrate from legacy to 'one' module
  - reduce the number of LogSystem calls
  - add an option to make the output format consistent with that
    of PrintEventSetupDataRetrieval

PrintEventSetupDataRetrieval:
  - reduce the number of LogSystem calls
Merge pull request #6780 from vadler/74X-updateTopRefSel

74X - update TopRefSel
Merge pull request #6657 from dmitrijus/closedjson_goes_forward

Forward port of  #6570 and #6637 to 74x
Merge pull request #6783 from fwyzard/customiseCheckEventSetup

add a customisation fragment to check EventSetup usage
Merge remote branch 'origin/CMSSW_7_4_X' into CMSSW_7_0_X