bindlisten: workaround dualstack problem on >=glibc-2.5 (Linux)

issue #22 is caused by GNU libc first returning IPv4 then IPv6
addresses, which cause the for-loop over all answers returned by
getaddrinfo to try and bind the dual-stack IPv6 (which also does IPv4)
and fails because the IPv4 is already bound.  Work around this by
binding the IPv6 address with explicit instructions not to also bind
IPv4.  On Darwin, BSD, Solaris, etc. this isn't an issue apparently
because the kernel is smart enough to understand this, or ignore it
somehow.  Those platforms also follow the RFC which says that IPv6
addresses should be returned first.