add tests infrastructure
add travis support + coverage + fix tests
fix pep8