Python 3 + testing

This adds a `tox.ini` and 100% test coverage and Python 3 compatibility.