Add support for deleting snapshots

I've amended HasSnapshot to take a `name` argument, so that it can be reused, and so we don't have to manage another action - seemed like the cleanest way to do this.