Add and use twiggy.compat for Py3 compat
Looser match strings in error messages

They're slightly different in Python 3
FileOutputTestCase.make_output: Set buffering=1

prevents "ValueError: can't have unbuffered text I/O" error and tests
that seem to hang if you're capturing output
tox.ini: Add py33 to envlist
.travis.yml: Add 3.3