IPv6 patch

Complete patch to allow a client to use a socket in dual-stack (mixed IPv4/IPv6) mode.
Compiler switch to enable/disable: TOX_ENABLE_IPV6 (in tox.h AND network.h).

Short:
- pulls all IP/IP_Port manipulation into network.h/network.c
- replaces in IP and therefore in IP_Port the simple IPv4 address with a struct of a) address family and b) union of IPv4/IPv6
- in DHT, the binary wire format for sendnodes/handle_sendnodes is kept and therefore only IPv4 transfer with those packet IDs, additional message NET_PACKET_SEND_NODES_EX is used in sendnodes_ex/handle_sendnodes_ex to transfer IPv6 analogously