Create initial tree using same function as navigations (#87147)
Based on:
- #87128
---
Small refactor. During the initial render to hydrate the page, we create
the CacheNode tree using the same function that is used to create new
trees during soft navigation.
Unlike during a soft navigation, we intentionally don't check if any
data needs to be fetched from the server. We assume the initial
hydration payload is sufficient to render the page.
The completeness of the initial data is an important property that we
rely on as a last-ditch mechanism for recovering the app; we must always
be able to reload a fresh HTML document to get to a consistent state.
This was one of the last remaining places where
fillLazyItemsTillLeafWithHead was used.