- don't record noResult for timed-out/cancelled computations (transient
failures must not suppress retries for the same artwork version)
- bound the noResult negative cache at 25k entries
- use context.Background for the worker's root context
- add hash:"ignore" to Artist/Playlist blurhash fields for consistency
with Album (inert today; neither struct is hashed)