Fix TypeError when handling multi exception

When errors occurs using multi/exec, avoid "TypeError: Cannot read property 'length' of undefined"
Prep for release
0.8.5
Issue #439 (and others): Stop assuming all "message" or "pmessage" replies are pubsub replies. Check pub_sub_mode as well.
Add unref() method to RedisClient that will call unref() on the socket connection, allowing it to close when unused. This is experimental because it does not yet understand the Redis protocol, so subscriptions or blocking operations will not work correctly.
String is not an error
Make retry_max_delay option work correctly when retry_backoff becomes greater than one
Formatting
When handling the "error reply" event from the parser, we now bubble up the Error object if it's one instead of wrapping it in another Error.
Give more time for unref test for slower systems
Update changelog
0.8.6
README for unix domain socket connection.
Merge pull request #497 from chakrit/master

README for unix domain socket connection.
typo already
Merge pull request #498 from PaulVI/patch-1

typo already
Added direct support for domains.

There are three pieces to this support, all of them small, and none of
them with large overhead:

  1. When sending a command, ensure that any callback is bound to the
     current domain, if one is present.
  2. Also add the RedisClient to the current domain so that error
     events bubble properly.
  3. In try_callback, when a domain is in play, instead of throwing
     on the next tick, emit the error on the domain. The parser can
     still finish processing the response and the error ends up in
     the correct place.
Don't bind the RedisClient to the domain; callback should suffice.
exit the domain after emitting. Thanks, cxreg!
Update changelog for version 0.9.0