[avalanche] Add a sendavalancheproof RPC shell
Summary:
This adds a new sendavalancheproof RPC which takes a proof, validates
it, adds it to the pool if not known already and announces it via a
proof inventory message.
Sending the inventory message needs some code in the network layer,
which itself cannot be tested without a RPC to trigger it. This is the
reason why this RPC does not send the proof yet. This will be added in a
follow up diff for ease of review.
This diff contains all the tooling and tests to make it very easy to
complete the RPC once done.
Depends on D9648.
Ref T1611.
Test Plan:
./test/functional/test_runner.py abc_rpc_avalancheproof
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Subscribers: deadalnix
Maniphest Tasks: T1611
Differential Revision: https://reviews.bitcoinabc.org/D9492