Delete repositories when they become private
Created by: asdine
This PR detects when a repo is no longer accessible and deletes it asynchronously. Because the repo might be cached by the source, it may still appear for a few minutes before being deleted. Fixes #13978