add test runner and setup.py
add some stuff to gitignore
update travisci config
fix dependencies in setup.py