Initial IPv6 support

This is more a request for comments, everything appears to work. Don't merge this until after 1.4 has been released just to be safe.

The only problem is people with broken IPv6 will fail to connect to servers that have proper AAAA records. (that's people with a non-working default route, can be simulated with ip6tables -A OUTPUT -p tcp --dport 2076 -j DROP). However they would also have problems connecting to google and facebook, so it's kinda their problem. I can't specify a timeout on the connect call without doing async stuff :(.

None of the public servers listed have AAAA records the last time I checked (about a week ago)

It even works with mygen.ca (doesn't connect to ipv6, uses ipv4 instead). That guy needs to get his DNS fixed...
mygen.ca has IPv6 address fe80::16da:e9ff:fe08:88dd