Get tests passing on Python 2.

For some reason the tests were assuming XHTML output, but were recieving
HTML output. Perhaps the underlying C lib's default was changed more recently.
Anyway, for the tests that it matters, output is explicitly set to XHTML.
Update tests to use unicode literals.
Fixed the entity tests.

I'm not sure why, but the 'numeric-entities' option seems to be ignored.
The docs note that "entities that can be represented in the output encoding
are translated coorrespondingly." Perhaps, because input is always unicode,
that causes the numeric entities to be lost and then preserve-entities is
bringing them back??

Anyway, I fixed the tests by breaking the numeric entity tests out into
seperate tests. As long as numeric entities are passed in and
preserve-entities os on, we get numeric entities back.