[chronik] Electrum: Implement peer validation
Summary:
Check the peers periodically in a background task before returning them in peers.subscribe.
Note that we need to use the tokio Mutex here so the peers can be mutated in the various tokio tasks.
A new option is added so we can use a sane default value for the validation interval but speed it up in the tests (this time is not mockable).
Depends on D18298.
Test Plan:
./test/functional/test_runner.py chronik_electrum_basic
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Differential Revision: https://reviews.bitcoinabc.org/D18297