Global timeout expiration with --keep-going

When the --global-timeout expires with --keep-going enabled, tezt keeps launching each remaining test, then interrupting it very quickly because the global timeout is exceeded. This leads to weird traces e.g. (from https://gitlab.com/tezos/tezos/-/jobs/4963403011, which also uses --loop-count by the way)

[08:23:05.371] [FAILURE] (1/1, 90 failed) (loop 92) Alpha: forge block with wrong payload
[08:23:05.371] Try again with: _build/default/tezt/tests/main.exe --verbose --file tezt/tests/precheck.ml --title 'Alpha: forge block with wrong payload'
[08:23:05.371] Starting test: Alpha: forge block with wrong payload
[08:23:05.371] Setting up the node topology
[08:23:05.371] Starting up cluster
[08:23:05.371] [node1] ./octez-node identity generate --data-dir /tmp/tezt-34/24/node1 0
[08:23:05.375] [ring.1] ./octez-node identity generate --data-dir /tmp/tezt-34/24/ring.1 0
[08:23:05.379] [ring.2] ./octez-node identity generate --data-dir /tmp/tezt-34/24/ring.2 0
[08:23:05.393] [ring.3] ./octez-node identity generate --data-dir /tmp/tezt-34/24/ring.3 0
[08:23:05.397] [ring.4] ./octez-node identity generate --data-dir /tmp/tezt-34/24/ring.4 0
[08:23:05.400] [error] the set of tests took more than specified global timeout (1800s) to run
[08:23:05.400] Send SIGTERM to node1.
[08:23:05.400] Send SIGTERM to ring.1.
[08:23:05.400] Send SIGTERM to ring.2.
[08:23:05.400] Send SIGTERM to ring.3.
[08:23:05.400] Send SIGTERM to ring.4.
[08:23:05.404] ring.1 was killed by signal SIGTERM.
[08:23:05.405] node1 was killed by signal SIGTERM.
[08:23:05.977] ring.4 exited with code 0.
[08:23:05.978] [FAILURE] (1/1, 91 failed) (loop 93) Alpha: forge block with wrong payload
[08:23:05.978] Try again with: _build/default/tezt/tests/main.exe --verbose --file tezt/tests/precheck.ml --title 'Alpha: forge block with wrong payload'
[08:23:05.978] Starting test: Alpha: forge block with wrong payload
[08:23:05.978] Setting up the node topology
[08:23:05.978] Starting up cluster
[08:23:05.978] [node1] ./octez-node identity generate --data-dir /tmp/tezt-33/27/node1 0
[08:23:05.982] [ring.1] ./octez-node identity generate --data-dir /tmp/tezt-33/27/ring.1 0
[08:23:05.986] [ring.2] ./octez-node identity generate --data-dir /tmp/tezt-33/27/ring.2 0
[08:23:05.993] [ring.3] ./octez-node identity generate --data-dir /tmp/tezt-33/27/ring.3 0
[08:23:06.001] [ring.4] ./octez-node identity generate --data-dir /tmp/tezt-33/27/ring.4 0
[08:23:06.017] [error] the set of tests took more than specified global timeout (1800s) to run
[08:23:06.017] Send SIGTERM to node1.
[08:23:06.017] Send SIGTERM to ring.1.
[08:23:06.017] Send SIGTERM to ring.2.
[08:23:06.017] Send SIGTERM to ring.3.
[08:23:06.017] Send SIGTERM to ring.4.
[08:23:06.020] ring.2 was killed by signal SIGTERM.
[08:23:06.021] ring.3 was killed by signal SIGTERM.
[08:23:06.033] ring.1 was killed by signal SIGTERM.
[08:23:06.033] node1 was killed by signal SIGTERM.
[08:23:06.840] ring.4 exited with code 0.
[08:23:06.900] ring.4 exited with code 0.
[08:23:06.901] [FAILURE] (1/1, 92 failed) (loop 95) Alpha: forge block with wrong payload