Generator and custom hadron physlist constructor cleanup

Generator class has been reviewed, debug printouts and comments were updated, a small optimisation of the code done. Filtering of HepMC particles is not changed compared to previous version of the code.

Alternative PhysicsList QGSP_FTPF_BERT_EML95msc93 was changed - instead of native Geant4 hadron inelastic builder a CMS custom HadronPhysicsQGSPCMS_FTFP_BERT is used. The latest is copied from Geant4 10.0. This is needed for easier customisation of hadronic physics in the case of any issue will be discovered in future.

These modifications should not affect results.