Update tests for Python 3

This should resolve #1.

Although I did encounter a few weird issues. For example, the tests weren't even passing in Python  2. I fixed that in my first commit. Then I was having some issues with entities - which is addressed in the third commit. I'm not sure that I got the third commit right.

In any event, the changes in the second commit actually address #1. Of course, because unicode_literals are being used, the tests won't work in Python < 2.6.