test.sh: Verbose mode prints setup/teardown output

When test.sh is given flag -v (verbose) the output from setup and
teardown will now be printed.  This was useful to debug adding support
for Travis CI - a continuous integration system.
test.sh: Fix tests when git user.name/user.email is not setup

On Travis CI `git` `user.name` and `user.email` is not set in the
`git` config.  This was causing `git commit` to fail during test setup.
This commit fixes this issue by always explicitly setting `user.name`
and `user.email` in the test repo.
Add support for Travis CI

Travis CI[1] is a continuous integration service for open-source
projects.  This commit adds support for it so tests will be run for
each pull-request.

[1]: https://travis-ci.org/