[Chronik] Support listening to WebSocket updates from plugins
Summary:
Allowing to listen to WebSocket updates from plugins allows apps to do live updates based on groups assigned by plugins.
For simplicity and avoiding incorrect usage, subscriptions must be to exactly one group of the plugin; as opposed to all txs of a plugin or a prefix of a plugin.
If this turns out to be useful, we can add it in the future using a different subscription message.
Test Plan: ./test/functional/test_runner.py chronik_plugins
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D16696