consumer: send RDY before FIN/REQ

same as bitly/pynsq#98 in anticipation of bitly/nsq#404 landing
this changes `Consumer` from asynchronous -> synchronous `RDY`
handling in order to strongly order the commands sent over the
wire.

the meaningful change is that we now send `RDY` before `FIN`/`REQ` 
to ensure that we only ever test the water with a single message
when in backoff.

cc @jehiah