We have been quite consistent at using u'abc' literals in the source code, but not in the test code. Sometimes that causes trouble.
Instead of reviewing all code and marking every string with the u prefix, I propose to add the following to the top of all Python source files:
from __future__ import unicode_literals
This way we can remove the u prefix from all strings, and instead add the b prefix the few places where we want to use bytestrings.
This works from Python 2.6 and up, and it will also ease a future migration to Python 3.
Make all strings unicode by default (fixes #224)