If *peers* are communicating, i.e. there may be bidirectional connection
attempts, we must use the same protocol version from both ends or else
we will get very confused.
Fix this by forcing the use of v1 when we
- are bound to a v1 endpoint only (people can't connect to us via v2)
- we are connecting to a *peer*
If it is a non-peer, then connections are uni-directional. If we both
have v2, we will both use v2.
If we ever switch to [v2,v1], it will be as part of a restart.