New jet flavour definition update

A follow-up to #2395. After consultations with the Generators and JetMET groups, this pull request expands the parton-based jet flavour to support several different hadronizers. It also includes minor improvements to the hadron-based jet flavour as well as general code cleanup and optimization.