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.