Mini refactor and test network util

### Changelog
* Mini module refactor.
* Add tests for all functions not requiring network access.

### Note
Why do we need a separate `get_my_ip` function? Doesn't `stun.get_ip_info` give us all we need?
Tomato or Tomatoe... that or ,which