HepMC3 nightly branch fixes 15120202 part 1
In this MR:
- update types, e.g.
GenPartice*
->GenParticlePtr
and similar - use c++11 loops to loop over particles
- use std:: for math functions
Also note one quite interesting non-portable ( in a wide sense) place where an integer constant is obtained from the object address. Ported as is.