Changed cookie/cookie request packet.

Cookie now contains the dht public key of the peer which makes
more sense than including the real public key of the reciever.

It means we no longer have to rely entirely on onion_client to
find the dht public key of the other peer.
Net_crypto can now handle packets sent as TCP OOB packets.

Added timestamp to know which DHT public key is good in case
onion_client and net_crypto report different ones.
Added function to set the DHT public key in onion_client.
Fixed bug in TCP server where memory was expected to be zero but
sometimes wasn't.
Added a function to get the DHT public key stored in net_crypto.

The DHT public keys in onion_client/net_crypto are synced and set
to whichever is more recent.

Tox peers now try to connect directly even when already connected
with a TCP relay.
net_crypto now works again on pure UDP.