Rename tests/{hardware-test => hardware}

For consistency with tests/ocr
fixup! Add automated test involving video capture hardware

(test-hardware.sh isn't (directly) executable.)
Move all utility functions from tests/{run-tests.sh => utils.sh}

This keeps all the utility functions used by the self-tests in a single
place.
tests/run-tests.sh: Test suites passed on command line must be relative to caller

...not relative to `run-tests.sh`. This will allow me to move the
hardware-specific test suite into tests/hardware/ in a future commit (so
that it doesn't get run by default).

This changes the command-line API of run-tests.sh but that is a change
that only affects developers, not users, of stb-tester.
Run hardware tests with `make check-hardware`

Instead of `STBT_ENABLE_HARDWARE_TESTS make check-integrationtests`. I
feel that a separate `make` target is better documentation than having
to read the source code of test-hardware.sh. Also, this allows us to run
the hardware tests separately (for example only after the non-hardware
tests have passed).

To exclude the test cases in `tests/test-hardware.sh` from `make
check-integrationtests` I had to move `test-hardware.sh` out of
`tests/`, into `tests/hardware`.

One consequence of this change is that `tests/test-install` (the
temporary installation used to run the tests) isn't removed after `make
check` completes. It's already in `.gitignore`.
test_teradek_vidiu: Avoid infinite loop if crtmpserver fails to start

Wait for up to 10 seconds instead.