fixups
fixups

 * extract logic into a `os_can_execve` and use it in the other place
   that we execve
 * outdent some code by introducing `run_or_test` variable
 * delete unnecessary and wasteful memory management logic
 * better error message for when execve fails
 * add comment to explain why we do not execve for `zig test`

zig-lang/zig,zig-lang/zig,raulgrell/zig,raulgrell/zig,raulgrell/zig,andrewrk/zig,andrewrk/zig,raulgrell/zig,zig-lang/zig,raulgrell/zig