Use all results returned by getaddrinfo(3), if necessary

I have seen getaddrinfo(3) return IPv6 addresses before IPv4 addresses
when a hostname resolves to both. It is still more common for Redis to
listen only on a v4 address than a v6 address or both a v4 and a v6
address. When getaddrinfo(3) would returns a v6 address that Redis is
not listening on, the user would see ECONNREFUSED or similar without
this patch. This is clearly undesirable behavior.

Additionally, per the getaddrinfo(3) man page, we should try to use the
addresses it returns in the order they are returned.