Currently, if there is an error when creating the patches/healed
directory, the error message will be printed on stderr, but the build
runner will report the test as being successful.
Add the fail function and the FailStep, so that the error will be
correctly handled by the build runner.
Remove the PatchStep, and instead add the heal function so that all the
exercises are healed before starting the tests.
The heal function executes at the configuration phase, but the possible
error is handled by the build runner.
Simplify the code finding the exercise number from the exercise index,
when the -Dn option is set. This is now possible since the exercise
numbers have no holes.
Add the validate_exercises function to check that exercise number are in
the correct order, and call it at the start of the build function.
Add tests, with 2 test cases.