Used Twisted-standard naming conventions for unit tests directory.
* Created a new module and moved the exceptions into there (this included
  updating all the references to those exceptions).
* Added a todo comment about fixing a bad variable reference in a future
  branch.
Split out client code into its own module.
* Added everything to __init__ via imports, for backwards compatibility.
* Moved authors into __init__, since files are now split (and added myself as
  an author).
* Created a testing module for general, unit test customizations (testing
  infrastructure, as opposed to actual unit tests... which are in "tests").
* Renamed test_redis.py to test_client.py to match the module name it tests.
* Renamed test classes to be more specific (including "TestCase" as part of
  their names).
* Reformatted the hiredis test cases so that they didn't appear inside an
  import try/except and followed standard Twisted code formatting.
Split out hiredis client and protocol functionality and updated code that
referenced these.
Merge pull request #34 from oubiwann/rename-test

Used Twisted-standard naming conventions for unit tests directory.
Merge pull request #35 from oubiwann/split-out-exceptions

Split out exceptions
Merge pull request #36 from oubiwann/split-out-client

Split out client
Merge pull request #37 from oubiwann/split-out-tests

Split out tests
Add support for SETBIT and GETBIT
document getbit() and setbit()
BITCOUNT command
Merge pull request #3 from djfroofy/bit-operations

Bit operations