Add setup.py
Return custom error callback
Rewrite tests for pytest
Add .travis.yml
Update README.rst