adding basic unit tests and travis/coveralls support