Log process fatal errors in 'run_or_exit'
Instead of exiting silently, replay.py
now logs negative exit codes,
which mean that the subprocess ended with a signal, like SIGSEGV
(Segmentation fault) or SIGABRT
(Abort - usually assertion failure).