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.
These constants are used again later and are of common interest. It is better to be put in a separate file like LumiConst.h and then use inside a namespace:
namespace LumiConstants
{
...
}
You can do it differently but the above is simple and works fine.