Improved functional testing

This is two of the commits from the servo branch that should go into master sooner rather than later.

Basically, I added a global spock extension to the functional tests to capture the log file on a test failure, so that when a test bombs in jenkins, we get the log contents. Additionally, it will clean the log file between, so that we don't end up with extraneous data from previous executions.

It was super handy on the servo branch, and I kind of wish I had it in a couple other locations as it would expose failures better from jenkins, rather than just the  "groovy timeout exception."