Prepare for remote->local frame swap

The plan is to create a LocalFrame that is loosely tied to an existing RemoteFrame but is not really attached to the FrameTree. The LocalFrame will begin loading, and when it commits, it will be swapped into where the RemotFrame was. This adds sufficient logic to actually support that swap (and to maintain the intermediate semi-attached state while the LocalFrame is provisional).

BUG=422583

Review URL: https://codereview.chromium.org/643333002

git-svn-id: svn://svn.chromium.org/blink/trunk@183908 bbb929c8-8fbe-4397-9dbb-9b2b20218538