Compute Reciprocal Rank Fusion eviction scores for a batch of cache entries.
Each signal (recency, frequency, size) produces an independent ranking.
The final score is the sum of 1/(k + rank) across all signals.
Higher score = more valuable = keep longer.
Staleness with content verification: like is_cache_entry_stale, but when
the mtime claims “unchanged”, additionally compares the md5 of the on-disk
content against the cached hash.