Py3k

Note that I think we should go for the "single codebase" strategy where the same code works for both Python 2 & 3.