Until now the delegation was checked when receiving an avahello message.
When this happens we don't have the proof, so this check fails and the
node gets banned. The signature contained in the avahello message was
This diff add a sig field to the AvalancheState to store the signature
until it can be checked, and delays the verification of the delegation
until after we receive the proof from the peer.
The avahello signature verification is implemented, and the node is
banned if his signature is wrong because signature verification is
A test is added to ensure that this banning happens. A mininode sends a
valid delegation and an invalid signature in an avahello message, then
it sends a valid proof corresponding to the delegation. The signature
verification then fails.