IPv6 support, split tests

Considering that this module is made for P2P, IPv6 would be really nice. I intend to submit another PR to dependent module [bittorrent-tracker](https://www.npmjs.org/package/bittorrent-tracker).

Further compaction of IPv6 addresses (removing zeroes) may get more pretty results but that seems out of scope for this module. How about depending on something like the [ipv6](https://www.npmjs.org/package/ipv6) module?