Add state directory and cleanup routine.

The cleanup routine is a separate subcommand for trimming down the state
directory. In the future, we'll run it in a subprocess on every launch.

The new Docker.await() method, which polls the CID file, does not work when
used in Docker.launch(). A simple sleep is okay, though -- and the other
methods in Docker do use Docker.await(), so it must work in principle.