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.