added setup.py, updated .gitignore
added support for travis, added unit tests and requirements