Merge pull request #45 from nailor/master

Set X-Python-Version to >= 2.6
add changelog entry for debian improvements
Use a cheaper test to see if a socket is available, re: Issue #40.
Check to see if the reader is done before sending commands, consider it a connection loss and handle appropriately. Re: Issue #37.
finally enable test for _read and closes issue #37
Remove all this peeking crap, as we won't need it.
Remove the test for the peek queue.
The big refactor of the connection handler to use a single ZK thread.

Uses a deque and pipe to signal the ZK thread that there's a new command to send, so that the ZK thread can send it, or retrieve a response.
Processing ZK requests and responses serially in a single thread eliminates the need for a bunch of the locking, and two threads working on the same underlying socket.
There's still an intermittent test failure or two, probably related to the complete removal of the state lock which will need some slight re-ordering to remedy.
Remove some remaining peek tests.
Change the timeouts from microseconds to seconds before using them as timeouts.
Skip read timeout test right now, as it replaces select all over, which no longer works since we use select in the main zk loop.
We took a request, read the pipe.
Send request isn't responsible for triggering close.
Account for timing issues which may result in a reconnection before the session is expired.
Python 3 is not so much a fan of writing a str to a pipe buffer.
Remove a test ambiguity relying on Python ordering of commands.
More ambiguities relying on not being able to acquire fast enough for the test case.
More test ordering to ensure a speedy client doesn't muck up the results.
Proper debug statement.
These aren't run anyways, so we comment them out.