Restored working order

Refactored the socket creation so it uses a broadcast socket. The default broadcast IP address can now be overwritten. And exposing a promise to the caller of the `send` method.