Added unit tests, a few stubbed out and incomplete, added travis config