added simple logging interface

When using this library I noticed that the logs were being suppressed and wasn't sure as to why my connection wasn't being established to the Socket.io server just failures reported. 

So I decided to build out a simple logging interface so it can be switched out at any time or adapted to log4js. I noticed you were using "colors" so I decided to integrate that into the logger. I added a verbose option to allow users to opt-in to logging and wrote some rudimentary tests around the logger. 

I am curious about why each file is wrapped in an IIEF? A module.exports should suffice.   

If you don't mind I would like to place logging throughout the entire application for debugging purposes and clarity as to what is going on. I would also like to allow custom options to be passed into each worker's client creation method. I don't mind implementing these pieces as they are mostly trivial but would like to start a conversation around it before diving in, we may have different opinions as to what these pieces look like and how they function. Also, a quick format of the project would be nice. Let me know where you stand with all this. Thanks