We should only call `repository.destroy` from nexus prog, since it has a
strand. So no need to keep destroy logic in the model, we can move it to
the prog similar to PG timeline.
Also we remove cache entries explicitly. Previously, we are expecting
the association_dependencies in the model to handle this. But we just
need to be sure that the all caches are cleared before destroy the blob
storage bucket. Making this explicit in the prog makes it clearer.