Change the way IPs/ports to bind are specified

This new method is more flexible and allows for easy binding of multiple addresses and ports.  This is one step in the direction of IPv6 support.

This system still allows for Socket.IO and HTTP to listen on the same port.