Binary protocol support, Python 3 support, plus lots of fixes and minor features.

This set of commits adds a lot of things:

* Implicit JSON packing/unpacking (prefers "simplejson" over standard "json", if available).
* Proper support for unicode keys and values.
* Binary protocol for all operations supported by it (which is only a subset of operations supported under the HTTP protocol).
* Added the "play_script" operation (with no implicit packing/unpacking).
* Minimal docstrings for all public methods.
* Python 3 support (tested on 3.2).
* Fixes for multi-database handling.
* Other random fixes.