Fixed some issues in TCP_server.

Timed out connections now remove themselves correctly.

If a peer with the same public key as another tries to connect,
the old connection is killed.
TCP_server fix.

Clear the connections array when connection is killed.

Don't allow duplicate entries in connections array.
Fixed TCP_client connections not timing out correctly.
Removed non spec behaviour.
Some TCP code added to net_crypto.

add_tcp_relay() can be used to connect to some TCP relays.

If both Toxes are connected to the same TCP relay(s) and create a
connection on which they set the others dht_public_key, they will
connect.