- `CustomFormatCache` is now a utility class for updating cache entries.
- `CustomFormatCacheData` is now what `CustomFormatCache` used to be
(data object used for serialization).
- `CustomFormatCachePersister` is now specific to custom formats. Future
cache types will have their own persister implementation.
With `delete_old_custom_formats: false` and
`replace_existing_custom_formats: false`, if you comment out a CF in
your configuration, sync, uncomment it and sync again, you get an error
about duplicate CFs. This is because, once a CF is removed from the
configuration, it's also removed from the cache.
This change makes the cache more flexible. As long as a CF (created by
Recyclarr) exists either in the config OR in the service itself, it will
be kept in the cache. This means that temporarily disabling CFs in
configuration won't cause ownership issues.