setup.py now has test_suite and runs on Python 3.
Python 3 compatibility using nine, part 1.

33 errors remain on Python 3.
Python 3 compat part 2: Plain text files are decoded

One cannot open a plain text file without knowing
what encoding it is in.

One test is still failing.
Python 3 compat part 3: All tests pass.

I must thank Alessandro Molina for figuring out
line numbers and filename patching. I stole some of his code in
one of the 2 previous commits.