This diff spins a new network scheduler task that checks every 5 to 10 minutes whether it is required to request more avalanche nodes, and takes action accordingly.
Since it's running in the scheduler thread, the Peer::m_addr_token_bucket attribute needs to be guarded by a lock. Due to the way it is used, an atomic is not the best option here so a Mutex is used.
Ref T1696.