tests/zvsh_test: rewrite/add to `run_zerovm` tests

This change rewrites a lot of tests which were exercising the previous
(broken) functionality for the `run_zerovm` code.

Test coverage is now sitting at a whopping 46%!
zvsh: switch to the new `run_zerovm` function

This only applies to normal run cases for zvsh. It does not apply to the
gdb case (which still needs to be rewritten using the new tested
implementation).