Python 3

An update to add support for Python 3, consisting mostly of
* Unicode literals
* BytesIO
* Ensuring the encoding when dealing with incoming data (defaulting to UTF-8)

Also a couple of tweaks to get the tests working with Python 3, and behaving consistently.
Python 2.6 for ordered-dictionaries can be provided by shipping the code
behind an ImportError exception
<http://code.activestate.com/recipes/576693/>.