setup.py: ensure failing tests cause a non-zero exit code
Add .travis.yml file