Py3k

I'm skeptical that everything will actually work with python3, but all the tests are passing.

It's a start...

Anything that breaks with python3 should result in a new test.