[avalanche] Maintain a radix tree of the proofs
Summary: This will be used to send the short proof ids of our proofs to our peers. The radix tree is copy-on-write, which makes it possible to store a copy of the tree in the remote node data, so even if the proof set keep evolving we can retrieve the missing proofs based on an index snapshoted at the time of the copy, while only duplicating the subset of the tree that has changed.
Test Plan:
ninja check-avalanche
Reviewers: #bitcoin_abc, sdulfari, deadalnix
Reviewed By: #bitcoin_abc, sdulfari, deadalnix
Subscribers: deadalnix, sdulfari
Differential Revision: https://reviews.bitcoinabc.org/D11450