[Chronik] Add PluginContext::run_on_tx
Summary:
This is the "core" of the plugin system; it takes a tx (plus some extra data from the indexer), runs the plugins and returns their outputs as PluginTxOutputs.
This can later then be used by PluginsWriter and the mempool to store the output data generated by the plugins.
Depends on D16525.
Test Plan: cargo -p chronik-plugin-impl test_run_on_tx
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D16527