add travis ci, coveralls, improve tests