[chronik-client] Improve organization of subscriptions in ws object
Summary:
When ws.subs was designed, only scripts could be subscribed to. Now we support blocks. Soon we will support tokens. And later could support plugins.
Organize all the subscriptions in subs. Change from array to typed object.
Update tests to match new type.
Note: this is a breaking change, but impact is expected to be minimal as in-node chronik is still rolling out.
Test Plan: CI
Reviewers: #bitcoin_abc, emack
Reviewed By: #bitcoin_abc, emack
Differential Revision: https://reviews.bitcoinabc.org/D15630