Fix hash_function().

The hashing function that tinc uses is currently broken as it only looks
at the first 4 bytes of data.

This leads to interesting bugs, like the node UDP address cache being
subtly broken because two addresses with the same protocol and port (but
not the same IP address) will override each other. This is because
the first four bytes of sockaddr_in contains the IP protocol and port,
while the IP address itself is contained in the four remaining bytes
that are never used when the hash is computed.
Attribution for Etienne Dechamps.
Forbid protocol version rollback.

When we know a node's ECDSA key, we only allow communication via the SPTPS
protocol.
Allow extra options to be passed to "tinc restart" again.
Disable PMTU discovery when TCPOnly is set.

Obviously, PMTU discovery doesn't make much sense when we know we'll be
using TCP anyway.