[Chronik] Plugins: Add Tx, TokenTxEntry and other tx related objects
Summary:
This allows plugins to access all the data available to us in Chronik so they can later attach output data.
We wrap non-primitive types in Py wrappers, which allow plugins to access the data on the Python heap without having to build new object on every access.
See spec: https://ecashbuilders.notion.site/Chronik-Python-Plugin-Spec-9956b524cef54495b8fab3bf6e354151
Currently, this omits PluginData, which will be added in a later diff.
Test Plan: cargo test -p chronik-plugin
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D15152