[native] Add cached user selection state into RegistrationContext
Summary:
This addresses ENG-4043. Basically we want to be able to preserve the state for a screen after going back and then navigating to the screen again. For instance, if the user has entered their password but wishes to revise their username, we want them to be able to go back without losing their already-typed-in password.
I initially tried replacing the React Navigation state with this new state, but then realized that since React Navigation state is persisted in dev mode, but RegistrationContext state is not, we could get in a place (only in dev mode) where data necessary for rendering the current screen is not available in RegistrationContext. As a result, this state is being introduced ONLY for "preseeding" initial state when screens are first rendered.
Depends on D8153
Test Plan: I tested going back for every screen after setting values (and proceeding). In some cases, a simple selection was enough to update cached state; in those cases, I also tested without "proceeding" (ie. pressing "Next")
Reviewers: atul, ginsu
Reviewed By: atul
Subscribers: tomek
Differential Revision: https://phab.comm.dev/D8154