Add ParallelTests::Cucumber::FailuresLogger to log cucumber failures.

This class subclasess Cucumber::Formatter::Rerun and overrides the 'after_feature' method in order to lock the output file so that multiple processes can write to it.

The output format is similar to cucumber's own rerun output format so it can be re-run with cucumber in the same way. (i.e. by passing the filename to cucumber prefixed with '@', ex: `cucumber @parallel_cucumber_failures.log`).
Refactor ParallelTests::Cucumber::RuntimeLogger to use the new Io module