Connect Navigation and FragmentManager's state save/restore

Update FragmentNavigator to correctly save and restore
the Fragment's state when the NavController uses the
restoreState and saveState APIs.

To enable testing the save/restore separately from
NavController, this added a new restoreBackStackEntry()
API to TestNavigatorState.

Relnote: N/A
Test: new FragmentNavigatorTest tests pass
BUG: 80029773
Change-Id: I4ac261ab2195e276c93ffd63152fe2bcefa3651a
6 files changed