This code is most of what we need to start spawning VMs for disposable clients but there are a couple of known issues which will eventually need to be remedied.
- There are some conceptual mismatches between this and the recent changes to --ssh flag and config-based setting of remote/local. we'll need to figure out how to make the two concepts play nice with eachother
- This uses mock instead of dingus - this is intentional. dingus still doesn't support py3 and I couldn't figure out how to sanely do some of these unit tests with it.
For brevity, I'd call this just libtaskotron.vm. But both works.