[avalanche] Add the notion of Peer to the PeerManager
Summary:
An avalanche Peer can be one or more nodes, so that a large peer can instanciate several nodes to be able to serve more requests.
This allows to rework the compactions algorithm to make it much simpler.
Test Plan:
ninja check-avalanche
The update of the verify function should check that the Peer remain in a coherent state.
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D6818