Tests: Allow parallel verification runs.

But default to sequential runs.
Tests: Increase default timeout.

And also ever increase the timeout when the tests specify a different
value.

A tight timeout is mostly useful for debugging, but descreases the
robustness of the test suite needlessly otherwise.
Tests: Fix qemu process leaks.

The machine.kill() call was erroneously only done when checking
journal messages.  Also, a qemu process might leak when the
multi-machine tearDown throws in the middle.

To fix this, we add a "new_machine" function that registers a cleanup
for the new machine.  The explicit kills can then be removed.
Tests: Download journal database on failure