prevent leaking disks by persisting on first delete attempt

new delete logic to prevent "leaking" of failed disk deletes on google compute.  
* On first delete attempt, write the currently attached disk names to the task payload (if they don't already exist).
* Then for server and disks, do lookup/delete
* confirms each by expecting wait_for to either detect state change or raise notfound exception.