Add functional tests
add travis-ci file