Add deleteContainerIfEmpty to BlobStore

This matches how most blobstores operate: delete container is a single
operation, not a compound operation which recursively deletes blobs.
Thanks for cleaning these up. To @shrinandj's earlier comment: do we also need a `deleteContainerIfEmptyNonexistentContainer` test?