Scroll position does not reliably restore on back/forward in-page navigations.

There's a sequence of repeated back-forward navigations that causes us to
overwrite scroll position for a HistoryItem. It is:

* Scroll a bit to an in-page link.
* Click link, then go back, then go forward, then go back again.
* Click another in-page link, then go back, then go forward.

On this last forward navigation, we will scroll to the top of the page instead
of to the anchor.

This is because we decide whether to save scroll position based on FrameLoader's
m_loadType parameter. This state is set for different document navigations and
for same document history navigations, but NOT for same document non-history
navigations. So ensure we always set m_loadType for same  document navigations.

BUG=339822
TEST=WebViewTest.BackForwardRestoreScroll

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

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