[dynamicIO] Model invalid dynamic on empty shells (#77270)
Dynamic is disallowed unless a Suspense boundary is above it. This now
applies to metadaata (though this shouldn't matter because it now
streams) and viewport. To allow for fully dynamic routes including
viewport you must put a Suspense boundary around your root layout.