[test] Reproduce two cache-sharing bugs (#100510)
A cache handler lookup for a `'use cache'` function started for one
route can be shared with another route that has different implicit tags.
The reproductions show that the route passed to `revalidatePath()` can
still receive the old value instead of regenerating it. Another case
shows that a route can bypass its cache handler while a fill is pending.
Shared invocation results also preserve the first caller's rendering
decision. A direct prerender caller can leave a nested cache waiting on
a hanging promise, and one prerender can pass its hanging promise to
another. Direct and nested callers can also inherit the wrong
revalidation decision for a stale entry.
These tests deliberately assert the current incorrect behavior. #100511
corrects the assertions alongside the wrapper rewrite.