Run system tests with set -e
Ensure all shell system tests are executed with the errexit
option set.
This prevents unchecked return codes from commands in the test from
interfering with the tests, since any failures need to be handled
explicitly.
Regarding the v9.18 backport, it's probably going to be a PITA, but it'll probably save us a lot of headaches when backporting tests in the future, so I suppose it justifies the effort.
Rebased on top of !8051 (merged)