IPv6 support

This adds IPv6 support via a new "ipv6" config option.

I'm not sure if this option is the ideal way to enable it but it's probably the simplest for now. It may be better to have getaddrinfo() infer the protocol version based on a provided address from a more flexible listener line (e.g. "listener [::]:8080 {"), similar to [nginx's listen directive](http://wiki.nginx.org/HttpCoreModule#listen).

I've also made IPv4 the default, but it may be better to use IPv6 while ensuring IPV6_V6ONLY is turned off so that [IPv6 sockets can accept both IPv4 and IPv6 clients](http://stackoverflow.com/questions/1618240/how-to-support-both-ipv4-and-ipv6-connections).
Style nitpick: no `else` blocks where the `if` returns.