run-test.sh: exitcode is an SPoF, be careful

i was refactoring run-test.sh a bit when i realized that
make check was happy although i had introduced a bug.
i'd like to make the code more resilient against this kind
of defect.

the first step is to try and simplify the code maintaining
the exitcode in run-test.sh.  this change is unsupported by
tests, i could just remove all assignments to $ex
and run-tests.sh would still be all-dots.

the next step would be to have run-test.sh construct its
own verbose failure report.
run-test.sh: exitcode is an SPoF, fail hard

run-test.sh now has two ways to check the result of
the testcase, and SIGABRTs itself if they disagree;
such event is eminent in the output and behavior of
run-tests.sh.

this might be a stop-gap measure, or i may decide that
further changes don't improve reliability.  we'll see.
run-test.sh outputs details of a failed test

informing the user of the test run results needs to be
a split responsibility to plug the SPoF in the exit code
of run-test.sh.  if either run-test.sh or run-tests.sh fails
to convey results correctly, the overall result would be
obviously inconsistent, which is better than *only apparently*
passing tests.
update-expected.sh: update obsolete *.expected easily