Add FrameLoader::m_provisionalItem, centralize HistoryItem state setting

History navigations cheat and set FrameLoader::m_currentItem when they the navigation starts, rather than when the navigation commits. This patch adds a provisional item to FrameLoader, comparable to what once existed on HistoryController.

Also, navigation-related HistoryItem state is set in a couple of different places (namely, there is a special block for push/replaceState). Set everything in FrameLoader::setHistoryItemStateForCommit(). Form state, scroll state, and page scale factor are still set in FrameLoader::saveDocumentAndScrollState.

BUG=

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

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