Add placeholder producer for new LumiInfoRunHeader and use in EcalLocalReco

This supersedes https://github.com/cms-sw/cmssw/pull/6128.

Very basic producer for LumiInfoRunHeader is added.  There are two different instances of this producer, one running in DIGI and the other in RECO, with different (configuration-level) behaviour.

Currently only the bunch spacing is filled.

The lumiInfoRunHeaderMC has the bunch spacing set at configuration level, with ConfigBuilder automatically setting it to match the configured pileup scenario.  (It runs BEFORE the mixing module in the digi sequence though, to facilitate the eventual plan of having the mixing module steer itself based on this product).  The producer can also be configured to treat the run number as if it were real data (for run-dependent mc purposes)

The lumiInfoRunHeader running in RECO has an if (isRealData) statement.  For data there is a hardcoded list of runs for now.  For MC the product is simply copied from lumiInfoRunHeaderMC.

The lumiInfoRunHeaderMC has been added to the sim event content, but I have NOT added the lumiInfoRunHeader yet to any reco or aod content (it is currently used as a transient product in any case in the ecal local reco).  Proper lumi event content configs should be created at some point to cover this.

Tested 50ns, 25ns, data, fastsim, and heavy ion workflows (plus the weird 101.0 that was problematic before)

Ecal local reco is also adapted to use the lumiInfoRunHeader to switch between 25ns and 50ns behaviour.
But shouldn't this have already been discussed at the level of the previous pull request when the lumi group added this run product to DataFormats (presumably with the intention to fill it...)

In any case, for MC, using the event setup won't work, because the Mixing step may run in a different cmsRun step than the RECO, so eventsetup is only possible if we want to move the fill scheme to the global tag for MC.