Prevent tests from running indefinitely. Wrap tests in a timeout.

All tests will now be run using the timeout utility, which will return 124
if the timeout expires. This will prevent tests from looping.

To use, set a default timeout using the DEFAULT_TIMEOUT variable. If not
defined, 5s will be set.

The default timeout can be overridden for a particular test called testname
by using the testname_TIMEOUT variable.