Added support for Python 3.x

This pull request adds support for Python 3 while breaking support for Python 2.5 and lower. Summary of changes:

 - JSON responces get decoded from UTF-8
 - Exceptions are caught using the `except Exception as e` style
 - The various renamings in the standard library are handled
 - The dict.keys change is supported

The only data that isn't decoded from UTF-8 is the raw logging data; this is because I couldn't see any documentation that indicated that it would be, and assumptions are bad.

I've tested all of the examples in the README (except `destroy` and friends) with Python 3.3.