Merge #264

264: Remove `test_runner`'s dependence on `async-std` and `tokio`. r=jrvanwhy a=jrvanwhy

`test_runner` used both `async-std` and `tokio` to implement a timeout on test execution. This brought in a *large* dependency tree. Some of the crates in that dependency tree (e.g. `value-bag`) assume that if you're on nightly Rust, you have an up to date compiler. At the moment, this is breaking `libtock-rs`' CI: `value-bag` does not build with the toolchain `libtock-rs` uses.

I tried to update the compiler, but newer compilers SIGSEGV on `libtock-rs`. Rather than investigating that (which will likely be very time-consuming), I decided to remove `libtock-rs`' dependency on `value-bag`. This required removing `test_runner`'s dependency on both `tokio` and `async-std`.

I replaced the timeout functionality by spawning a second thread that waits for 10 seconds then kills QEMU.

Co-authored-by: Johnathan Van Why <jrvanwhy@google.com>