If we can't create a listener socket with the ipv6 protocol, try to
create one with the ipv4 protocol instead. This fixes the ListenSocket
on machines where ipv6 is not available or has been completely disabled.
This patch also exists ListenSocket::Listen() early if we fail to create
the socket.