[Chronik] Fix WebSocket emitting Error messages
Summary:
When a subscription is invalid, Chronik responds with the error in a separate message.
However, errors are currently encoded incorrectly (in a Error msg directly instead of wrapping it in a WsMsg as promised).
This fixes the encoding and also fixes a small bug in client.py where messages that fail to parse would simply be dropped; now their unparsed bytes are returned to tests have a more appropriate failure mode than simply timing out.
Test Plan: ./test/functional/test_runner.py chronik_ws_script.py
Reviewers: Fabien, #bitcoin_abc, bytesofman
Reviewed By: Fabien, #bitcoin_abc, bytesofman
Subscribers: bytesofman
Differential Revision: https://reviews.bitcoinabc.org/D15472