Otherwise a test can hang if the result is not returned. This is not
even covered by pytest-timeout because if a test fails, the call to
task.kill() happens during teardown, and pytest-timeout doesn't cover
that.
* supply a gzipped image of an empty SD card so that we don't spend 5s at
every run by formatting it
* add start, stop, restart methods for direct control
* add restart capability to device_handler (a little awkward for now)