Make the integration test failures more apparent

We know that we have a bunch of annoying intermittent test errors that fail the Travis build, but they are spurious and making it hard to get to the bottom of them. The purpose of the patch is to segregate the different phases of the build into unit and integration tests and also to guarantee that the Travis build always outputs some logs that we can use to identify the underlying problems, rather than swallowing the underlying issue.