LumiInfo classes for Run 2 luminosity information

This contains the new LumiInfo, LumiInfoRunHeader, and BeamCurrentInfo classes which will be used to store the Run2 lumi information. This is an update of PR #5314 which fixes the issues raised there. LumiInfoRunHeader now uses std::bitset to store the filling scheme information, and the beam intensities are now stored in 16 bits. This uses libminifloat, which is currently in DataFormats/PatCandidates -- it might be useful to move it to some central location.