migrate to network/SockAddr and support for multiple addresses

I needed ipv6 addresses to at least include the scope-id, so I replaced your custom structure with SockAddr from network. I also added support for multiple addresses per interface. 
The downside is that we now depend on network, but my guess is almost anybody who has to do something with network interfaces will want to use it anyway.
I tested the code on Linux and Windows.