Python 3 support

Doctests may behave a little oddly on Python 3 due to `zc.buildout` and `distribute` messing them up a bit, but these are merely technicalities based on slightly different output. The actual aims of the tests are all met.