The basic logic is the same but there are LOTS of structural
changes so this version is NOT ABI compatable with the previous
versions.
* Changed the entry point to require('mikronode').getConnection()
* Moved closeOn* methods to properties.
* Refactored methods to prototype.
* Hid most internal properties using the 'private-parts' package.
* Added Promises for connection and channel.
* Changed debugging output to use the 'debug' package.
* Added lots of JSDocs.
* Added tests
* Updated the examples to show Promise usage.