Trivial optimise: Only check allowLocalAddresses once.
allowConnection() after checking for local vs not local. (Faster as well as more correct).
Only check allowConnection() if not connected.
Actually enforce not sending handshake packets to addresses that we're not allowed to use here. Note that we should also be booted out.
OpennetManager: oneConnectionPerAddress logic was too permissive

If:
1) oneConnectionPerAddress enabled;
2) peer have several addresses;
3) *any* of valid (not LAN) addresses is not same as already connected node,
then node was allowed to connect. That's too permissive.
Reject peer if *any* of valid addresses is same as already connected
peer.
Make sure it rejects it.