Rewrite tests to be platform agnostic. Add a working travis yml file