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!