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