cleanup
fixing a couple of bugs
Initial Python 3 support
Implemented test cases, plus some small fixes.
merging in @markhildreth's tests and cleaning up
adding Travis CI