Janitorial work

# Improvements

This adds a number of janitorial changes to txkazoo. This should be fully backwards compatible. In no particular order:

- You can now automatedly run the tests with `tox`. The README documents this.
- There is now a canonical source for dependency information: `requirements.txt` and `dev-requirements.txt.`. They are no longer two separately maintained lists. (As a consequence, they had already diverged in master. This can now no longer happen.)
- Tests and implementation have been split up into separate modules. This caused ninja-fixes to mocks that were monkeypatching in the wrong locations. (They still probably shouldn't monkeypatch, but I'm fixing not fixing that now since I'm going to shoot all the `deferToThread` code in the head anyway.)
- The version is now programmatically available as `txkazoo.version` and `txkazoo.__version__`. It is stored in `txkazoo/_version.py`, which is the canonical source for that information. `setup.py` gets it from there without actually importing `txkazoo`.
- Automated coverage testing, both HTML and console output, with branch coverage.
- Stale deps? Get an automated error message: (we don't actually have any stale deps anymore, but we *would* get an error message; I expect to see one as soon as Twisted 14.0 comes out)
```
py27 runtests: commands[6] | pip-review
No update information found for txkazoo
```
- Forget something from the manifest or VCS? Get an automated error message:
```
py27 runtests: commands[5] | check-manifest
listing source files under version control: 25 files and directories
copying source files to a temporary directory
building an sdist: txkazoo-0.0.4.tar.gz: 24 files and directories
files in version control do not match the sdist!
missing from sdist:
  dev-requirements.txt
suggested MANIFEST.in rules:
  include *.txt
```
- If we break some Python packaging rules, we now get automated error messages (txkazoo now gets 10/10 in the version up for review): 
```
py27 runtests: commands[7] | pyroma .
------------------------------
Checking .
Found txkazoo
------------------------------
Your package does not have classifiers data.
You should specify what Python versions you support.
Your package does not have keywords data.
Your package does not have author data.
Your package does not have author_email data.
You are using Setuptools or Distribute but do not specify if this package is zip_safe or not. You should specify it, as it defaults to True, which you probably do not want.
Setuptools and Distribute support running tests. By specifying a test suite, it's easy to find and run tests both for automated tools and humans.
------------------------------
Final rating: 4/10
Stilton
------------------------------
```
- Break PEP8? Automated message:
```
py27 runtests: commands[7] | pep8 txkazoo
txkazoo/client.py:79:80: E501 line too long (84 > 79 characters)
txkazoo/client.py:83:80: E501 line too long (82 > 79 characters)
txkazoo/client.py:122:80: E501 line too long (83 > 79 characters)
txkazoo/recipe/partitioner.py:25:80: E501 line too long (81 > 79 characters)
txkazoo/recipe/test/test_partitioner.py:34:80: E501 line too long (84 > 79 characters)
```
- Break PEP257? Automated message:
```
py27 runtests: commands[8] | pep257 txkazoo
txkazoo/client.py:60 in public method `__getattr__`:
        D401: First line should be imperative: 'Delegate', not 'Delegates'
txkazoo/client.py:60 in public method `__getattr__`:
        D400: First line should end with '.', not 'g'
txkazoo/client.py:60 in public method `__getattr__`:
        D205: Blank line missing between one-line summary and description
txkazoo/client.py:78 in public method `add_listener`:
        D102: Docstring missing
txkazoo/client.py:90 in public method `remove_listener`:
        D102: Docstring missing
txkazoo/client.py:104 in public method `exists`:
        D102: Docstring missing
txkazoo/client.py:107 in public method `exists_async`:
...
```

# Some remaining review questions

1. Is `TxKazooClient` the only public API? If not, what else is? It appears at least `SetPartitioner` and `Lock` are internal, because you only get to use them through `TxKazooClient`. Maybe `TxLogger`, but that looks internal too. If these are all internal, those imports can be removed from `__init__.py`.
1. Not sure what to do with [`test_via_cli`](https://github.com/rackerlabs/txkazoo/blob/2e50f1761201f0090c758b537a5cc101cf99d986/test_txkazoo.py#L272). Is that still used?