add a testsuite

the gitignore change is trivial (I hope)

The testsuite is... weird.  I wanted to make it so that it tests the current codebase and is implemented in a standard way: "python setup.py test".  What I hate is the fact that the testsuite ends up in the final package, which sounds very very wrong. Suggestions welcome, but I'd like to have a testsuite to test the thing when building/making changes.