factorize the error testing into a dataset
add some tests for the 'fatal' option
use an alias to finely control the exit status

this alias is probably Unix-specific, a Windows version is needed
show extra warnings that weren't tested
ignore the 'fatal' option in test_repository()

the function is calling run() with the options intented for the test repository,
and non-default values of 'fatal' might cause problems
optionaly create a new repository at the beginning of the test

this will allow for passing repository options for the batch of tests that follow
factor out the alias.exit value

this makes it easier to set for new test repositories,
and will allow for platform-specific versions
do not modify the option hashes that were passed

because of the way System::Command handles options (the last value
overrides all previous ones for a given key) the 'fatal' key in the
generated option hash that we're pushing on top of the list of options
will override all others
a test repository where all non-zero exit status are fatal
more appropriate comment about fatal exit codes
test a repository where ALL exit codes are fatal