This implements a basic peer discovery mechanism that works only between active avalanche nodes with valid proofs.
A node sends an avahello message if it has a proof and the other peer signals the avalanche flag. Each peer then requests the other peer's proof with a GETDATA message using the proof id that is in the delegation included in the avahello message. If everything checks out, each node add the peer as a new avalanche peer.
A configuration option is added to disable this new behavior by default.