[avalanche] Let the avalanche functional tests run both with and without the legacy proof format
Summary:
This diff prepares for converting the relevant functional tests to use either the legacy proof format (current node default) or the new format. It adds a facility for deserializing a proof from hex which will work with both formats, add a wrapper to the buildavalancheproof RPC, and adds a parameter to run a test with both formats.
For now only the abc_p2p_avalanche_peer_discovery.py is converted to demonstrate the feature. The other tests passing demonstrate that there is no change in behavior by default.
Test Plan:
ninja check-functional-extended ./test/functional/test_runner.py --nocleanup abc_p2p_avalanche_peer_discovery
Check in the head of the debug logs that there is one test with legecyavaproof enabled and one disabled.
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Differential Revision: https://reviews.bitcoinabc.org/D11122