[avalanche] make delegateavalancheproof take a limited id rather than a whole proof
Summary:
The DelegationBuilder does not need a complete proof to build a delegation, only its master public key and its limited proof id. Add a constructor that does not require the proof.
Remove also the proofid member that can be computed from the limited ID.
Replace the DelegationBuilder::importDelegation method with a DelegationBuilder(const Delegation &dg) constructor.
Use these 2 new constructors in the delegateavalancheproof RPC.
Use a private constructor to factor the common code for the 3 public constructors.
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, deadalnix, Fabien
Reviewed By: #bitcoin_abc, deadalnix, Fabien
Subscribers: Fabien, deadalnix
Differential Revision: https://reviews.bitcoinabc.org/D9613