Errback when we receive an error
Version bump for pulled in fix from lukemarsden.
Fix 'General' tests after switching to raising errors.
Fix List tests.
Fix protocol & sets tests.
RedisReconnectingProxy: transparent reconnect & timeout handling for Redis protocol.
Add connection timeout, ping handling for Redis connection.
Version bump once again.
Fix bug with not clearing up LoopingCall on _cleanup.
Add hget test (pointer to bug)
Fixed bug in hget
Update Readme
Fixes to use 'unified request protocol'

The 'unified request protocol', supported since redis 1.2 and standard
since 2.0, also known as 'multi-bulk' is the appropriate wire protocol
for a library to use in communicating with redis, since it's binary
safe, and using it throughout is more consistent than using it in only
some places.

This patch changes all commands to use the URP

There are some unit test fixes to reflect that protocol change, and
also deal with a version skew around expiry.
Merge branch 'upstream-master'

* upstream-master:
  Added direct support for the flushall command.
  Expose hsetnx as a basic method.
  Removed ResponseError check.
  Pyflakes fixes.
  Big change: An error response now errbacks the deferred.
  made redis protocol a new-style class
  test fixes; float coercion for scores; getrange
  remove type coercion in return values
  Don't do any type coercion.
  expose a send(command, *args) method
  added hget_value, hdel methods
  add lpush and rpush methods, to reflect redis
  Bumped version to 2.0
  Fixes to use 'unified request protocol'
  Update setup. Bump version
  Update Readme
  Fixed bug in hget
  Add hget test (pointer to bug)

Conflicts:
	setup.py
	txredis/protocol.py
	txredis/test/test_redis.py
Add hsetnx to list of proxied attributes.
Make sure to authenticate and select db on connect.

Closes #20
Do NOT run unittests against local Redis on 6379.

Because the unittests contain steps to completely flush the default
db, these tests run the risk of accidentally deleting all data on a
production Redis instance. This is obviously not great. Instead,
the new default port the tests look for is 6381. If no redis server
is running on that port, all subsequent tests will be skipped and
an informative message will be printed explaining why these tests
were skipped. This way, errors won't be produced by the test suite
for this condition.

Also included are fixes for a few tests and a refactoring of the
'save' tests, which would sometimes fail if a BGSAVE was currently
in progress.
Docstring improvements and addition of a few more commands.

Closes #10
Added watch and unwatch support.
Added support for hiredis.

To install hiredis, simply do a 'pip install -U hiredis'. If the
HiRedisProtocol is then used then the hiredis library will be used
for all protocol parsing.