[avalanche] Answer proof invs with getdata proof requests
Summary:
This makes use of the InvRequestTracker for tracking proof inventories.
This is similar to what is done for the transactions as demonstrated by
running the same functional tests.
This is missing the peer disconnection and the notfound management which
will be in their own diff.
Test Plan:
ninja all check-all ./test/functional/test_runner.py p2p_inv_download ../contrib/teamcity/build-configurations.py build-tsan
Also run p2p_inv_download under TSAN.
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Subscribers: deadalnix
Maniphest Tasks: T1611, T1634
Differential Revision: https://reviews.bitcoinabc.org/D9582