IOExerciser backport

Backport the IOExerciser test module so we can run fake workflows with it.

I tested the example in the IOExerciser-README file and played around with a few parameters to make sure things behaved as expected.