This MR implements part of changes needed to support HepMC3 in the Generator filters. Most of the changes are either mechanical replacement of the GenParticle* to GenParticlePrt or usage of auto for complicated types.
The migration strategy for the GeneratorFilters subpackage has the following cases:
In case the codes of the filter don't depend on the exact HepMC version nothing is changed.
In case the codes of the filter don't depend on the exact HepMC version after the replacement of GenParticle* with GenParticlePrt, this replacement is done.
In case the migration needs a small change ( typically only the loop over particles), the change is done in a way that would allow inserting 1-2 lines of HePMC3 specific code behind the #ifdef guards in the future MR. These are implemented in another branch.
In case it is simpler to rewrite the whole algorithm in HepMC3, nothing is done. The actual code is implemented in another MR and will be committed separately.