Add a coveralls badge
Improve test coverage

I'm pretty sure only Python 2.5 and older compatibility bits remain
untested (and I can't test those on Travis).