Refactor prerender workUnitStores (#70986)
This continues the refactor by adding an explicit type for PPR without
dynamicIO. It gets rid of `isDynamicIOPrerender` helper in favor or just
using a new discriminated type. It narrows the function arguments where
possible. dynamicIO prerenders encompass both PPR and non-PPR since
prerendering semnatics aren't different even when PPR is enabled. It
also sets up passing an AbortSignal into the dynamicIO prerender stores.
We don't use it yet but we will end up relying on it to clean up hanging
promises after the render is complete