So because libvirt is client-server, it means that the systemd units for our containers are oneshot, which means we have to be much more careful about ensuring the container really is stopped before we start making changes to it. So that's what this commit attempts to do.