[avalanche] discourage ava messages if avalanche is disabled
Summary:
If a node does not have avalanche enabled, it should not receive avalanche related net messages.
Nodes decide to send an AVAHELLO messages to a peer if they see that their NODE_AVALANCHE service flag is set. A node sending such a message when this flag is not set is misbehaving.
This should partially mitigate avalanche message spamming.
Note that for the moment the NODE_AVALANCHE is never set, but I expect that it will be set if -enableavalanche is specified.
To make the functional test work, I had to make sure AvalancheDelegation levels are not None in messages.py, else the serialization fails.
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D9304