improve handling for cascade decays
This MR makes some improvements for determining non-trivial decay chains in a generator-independent way. We don't want to assume that all generators have e.g. a single vertex for tau -> e \nu \gamma, as the photon may be emitted off the tau (before decay) or electron (after decay) in some generator setups. In many cases we want Rivet to be agnostic to the difference.
Some changes to the PDG_TAUS routine will be included soon to make it more agnostic. Further changes to existing analysis probably warrant a new MR.
I'd appreciate some feedback especially on code location. I've made my best guess for where the changes should go, but better to get agreement from the relevant peopl!