Discard `Infinity` expiration for implicit tags (#80387)
When a cache handler returns `Infinity` from its `getExpiration` method,
it signals to Next.js that soft/implicit tags are supposed to be passed
into the `get` method instead to be checked for expiration. Documenting
this in the `CacheHandlerV2` interface, and always passing in the soft
tags was implemented in #79213. However, we missed handling the infinite
expiration value, which led to regarding all cache entries returned from
those cache handlers as stale.
The first commit provokes the error, the second commit fixes it.
We'll also soon (re-)add proper deploy tests that will verify scenarios
like this one end-to-end when deployed to Vercel.
/cc @laugharn