Fix source address choice for IPv4 on Linux
fastd v10
New development cycle
Fix fast roaming when local IP address has changed
Initiate handshake when a packet can't be sent because the local address is invalid
Add `secure handshakes' option (without effect for now)

Not setting the option produces a warning (so not having it set is deprecated
now), so we can change the default from no to yes in a few release cycles.
Use the default delay before a handshake is sent when the local address is invalid

Sending it right away will make crossed handshakes more probable which is
especially painful when roaming, so it's better to add the delay.
Generalize SHA256 functions to work with arbitrary inputs
Add a HMAC to authenticate all handshake TLV
Get rid of packet.h
Use the rsv2 field in the handshake header as an optional length field to facilitate future extensions
Authenticate the TLV records only
Rename RECORD_HANDSHAKE_MAC to RECORD_TLV_MAC
Refactor handshake code, prevent downgrade attacks
Always check for mode and protocol mismatches

This was accidentially disabled in the previous commit for initial handshake
requests.
Align handshake buffer
Don't send chosen method name when it doesn't matter
Warn when no encryption method is set
Don't print fastd version from handshake requests when secure handshakes are set, instead print it on handshake finish