don't require resolver object when AI_NUMERICHOST specified for dns_ai_open
because we might not be able to build a resolver when the machine is not connected to the network (/etc/resolv.conf is gone on OS X), construct resolver differently when handling numeric host names in so_open, so that socket.listen works for numeric addresses regardless of whether the box is currently on the network