run-tests: make it harder to ignore test failures

It seems that the behaviour where we wouldn't run the country-specific
test if the core tests failed was unhelpful, in that you might not
realise that some of those tests were failing.  The concern with
running them all was you might miss a test failure that had scrolled
off the top of the terminal.  To address that, while still running
all of the tests, this commit keeps track of whether any of the
commands failed, and, if so, prints out an error in red and exits
non-zero.