rebase on bitly/master

This picks up some refactoring and bug fixes, see https://github.com/mreiferson/go-nsq/commit/1518027337e584bd126e0fbdf369d2f3cd6ac625

Specifically, I found and fixed a few more edge cases related to connection cleanup that could be the root cause for connections closing but never reconnecting.

cc @asim @davegardnerisme