WIP: Reader implementation

* Updated README
* Message: timeout fixes, json parsing, respond on nextTick, fixed TOUCH
* NSQDConnection: State change logging, connect on nextTick
* Added simplistic logging instrastructure. This will change and be
improved.
* Reader, ReaderRdy, and ConnectionRdy implementations
* RoundRobinList for cycling through a list.
* Place holder for Writer implementation
Added Coffee Lint, styleguide issues, and improved balance.

* Gruntfile: added coffeelint
* Gruntfile: strings conform to style guide
* README: use `unless` instead of `if not` in example
* Backofftime: resolve coffeelint issues and use block comments
* logging: constructor with default instance parameters. Now uses
moment package for date/time formatting.
* message: spacing around default parameters
* nsq: Changed imports for Reader and Writer. Added StateChangeLogger
to exports.
* nsqdconnection: Changed the ERROR string back to error. Resolve style
guide issues
* reader: Better responsibilities explanation thanks to @mreiferson.
Rename maxRetries to maxAttempts. Style guide issues. Dropped
`producer.address`.
* readerrdy: Resolve style guide issues. Handle ERROR in ConnectionRdy.
Add `@balance` call to `CLOSED` handler in ReaderRdy.
* roundrobinlist: Block comments and style guide fixes.
* wire: Remove trailing spaces
* writer: Make `Writer` the default export
* package.json: Add coffeelint, moment, grunt-coffeelint packages.
* framebuffer_test: Remove trailing space
* readerrdy_test: Fix test to check for registering `ERROR` event in
ConnectionRdy.
* wire_test: CoffeeLint fix.
ReaderRdy tests snd corresponding bug fixes

* StateChangeLogger now uses objects instead of lists
* StateChangeLogger now separately records the component state instead
of as part of the message
* asserts throughout know have a help error message
* ConnectionRdy emits a state change event to help with testing
* ConnectionRdy has had backoffOnIdle removed since it's unnecessary.
* ReaderRdy now has a lowRdyTimeout parameter
* ReaderRdy actually listens to REQUEUED events from NSQDConnection
* Reader fix for the counting of inFlight
* In Low RDY situations, we backoff on all connections irrespective if
they have something in flight or not. This doesn't interfere with
messages in-flight.
* Added a bump in the normal RDY case for `balance` since there was a
situation going from low RDY to normal RDY that caused a connection not
to recover from a backoff event.
* Added a length function to RoundRobinList
Make coffeelint happy

* Restructured ReaderRdy tests so that long descriptive test messages
don't wrap lines.
README badges
More polite RDY re-upping

* More polite setting of RDY in ConnectionRdy
* Use roundRobinList on try
* Clear backoff event if all connections are lost.
Tests for more polite RDY updating in ConnectionRdy

* Have ConnectionRdy tests use StubNSQDConnection
* Rename 2 tests descriptions in ConnectionRdy to be accurate.
* Added test for ensuring that RDY in only updated per connection when
it falls below 25% per connection of previously set value.
`try` tests

* Switched to `balance` when calling `try`
* Added two tests to verify `try` behavior
* Removed debugging code in ReaderRdy test.
Conceed to Wes' log func definiton request

* `log` functions don't default to the empty string for the message
parameter.
Revert "Resolve README conflicts"

This reverts commit da9cdabaac5afb4e4a7af11e0c6ebd732460f3a5.
Merge branch 'master' into reader

Conflicts:
	README.md
README merge fix
Merge pull request #5 from dudleycarr/reader

Reader implementation