Update trigger matching so it can run in multiple chains
It was pointed out that right now the DF-level trigger matching cannot be run by more than one format in a train.
This approach now introduces a shared algorithm and tool to ensure that even if multiple formats queue the matching, it's only run once (but with the combination of all requested triggers). It's still possible to have a particular format that runs a 'private' version of this tool directly.
Right now, we only have one 'shared' definition (which uses all of the default properties) but this setup allows for others to be defined.