Delete npm metadata caches using a background worker

🌱 Context

In #393633 (closed) we introduced a new entity Packages::Npm::MetadataCache that's used to operate and store npm Registry metadata cache.

🔥 Problem

When a project gets deleted we also need to remove the linked entities and the Packages::Npm::MetadataCache table isn't an exception.

Currently in such case we set project_id to NULL using ON DELETE SET NULL option for corresponding foreign key. Nevertheless those entries need to be deleted together with the files in the object storage.

🚒 Solution

Create a background worker that will cleanup such entities together with the files in the object storage.

Edited by Dzmitry (Dima) Meshcharakou