Add unit tests and travis integration