Better discard functionality

* Updated the README
* Call MESSAGE handler when there’s no DISCARD
* Auto-finish when having exceeded maxAttempts
Better tested discard functionality

* Change `id` for a NSQDConnection
* Refactor registering events for a new NSQDConnection created in Reader
* DISCARD is now called only if the DISCARD listener is registered.
* `message.finish()` is called always after exceeding `maxAttempts`
when `maxAttempts` is greater than 0
* Reader tests for new discard functionality.
Message doesn't throw error on multiple responses

* Message response is now idempotent (except for touch) Message
throwing errors on multiple responses was too draconian. It would cause
serious problems when auto-finishing messages in the discard case.
* Small PR fixes
Update changelog
Merge pull request #47 from dudleycarr/better-discard-functionality

Better discard functionality