'net' module: tests and fixes

So far this updates #308 with a very basic test suite, and fixes IPv4 and/or IPv6 address detection.
It's limited to 7 total sockets but only 4 can be in use at once. Not sure why its got 7 when you can only use 4, might be for internal buffer clearing or something. 

Yeah, I agree, it's probably best to just expose up these errors instead of trying to be smart/magical about it. 

So I guess the plan forward is to:
1. Change the `netapp_timeout_values` in `hw_net_initialize` to be infinity
2. Have `.setTimeout` call into `netapp_timeout_values`
3. I think ENOENT gets thrown already if there are 4 open sockets (I believe the open socket call fails and we throw this), so I don't think there's anything we need to do explicitly.