feat(Beatport MusicBrainz Importer.user.js): Unify and optimize update logic
Refactors the main runUpdate function to eliminate redundant code paths.
Previously, the script had two separate logic branches: one for the
release detail page (which did a single URL lookup) and one for list
pages (which did a batch lookup). This violated the DRY principle.
This commit unifies this logic into a single, more efficient pipeline:
- Gathers all URLs (either the single detail URL or all list URLs).
- Normalizes all URLs.
- Fetches MusicBrainz data for all URLs in a single batch API call.
- Updates the UI based on the results (buttons for detail, icons for list).
This change also:
- Improves cache invalidation: the detail page button now invalidates
only its specific URL (
invalidateCacheForUrl) instead of clearing
the entire cache.
- Adds a cache-clearing
onclick handler to the list page import icons.