Fix custom cache handlers missing on initial requests (#99372)
Startup preloading can initialize the built-in handler map before a
configured handler finishes loading. A request that reaches `'use
cache'` during the import can use the built-in handler instead of the
configured handler. Next.js now waits for registration to finish before
rendering that request. The server, route module, and export helper
share the registration promise.
Regression tests verify that the first request uses the configured
handler with startup preloading enabled. The affected fixtures no longer
disable preloading. Preloading also logs failed handler imports without
an unhandled rejection.