[avalanche] Add a mechanism to delegate proofs
Summary:
This is pretty much self explainatory. One does not want to spread its private keys around, so a mechanism to delagate a proof to any public key of the prover's chosing is necessary.
Depends on D8599
Test Plan: Added unit test.
Reviewers: #bitcoin_abc, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D8602