[avalanche] Add a peer availability score that aggregates node availability scores
Summary: A peer availability score lets us know at a high level if a peer is serving avalanche traffic. At a minimum this is useful for debugging but new possibilities become available such as staking rewards based on a combination of proof score (stake amount) and peer availability (utility to the network). This patch implements calculating the score but does not use it yet. These scores will be available via RPC in a follow up patch.
Test Plan:
ninja check check-functional
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D13073