Add CSV output reporting.

It's too late and I'm not entirely happy with `CSVReporter` and especially `CSVReporterTest` but the CSV feature is too cool to wait. Would appreciate improvements.

Pretty much passed on `PluginTest.groovy` entirely. This needs tackling separately.

Can't wait to get these CSV data files into R and start making some plots!
Nice. Could add `getFailure() == null` and `getDidWork()` from the `TaskState` in `afterExecute`.