Add authentication support

* Wire support for AUTH command
* NSQDConnection will use AUTH after TLS, Snappy, Deflate negotiation and before SUBSCRIBE / PUB
* Updated README
* Refactored the constructor signature for NSQDConnection to take an options dictionary
For some reason I thought I didn't expose NSQDConnection to clients of nsqjs, but it turns out that I do. I'm going to revert this. Thanks for the catching that!

There's another PR coming shortly the consolidates options defaults and checks which will cause a breaking change here. I'll document the braking change then.