Fix a case where we put the wrong entry in the back/forward list

It's possible that, while a back/forward navigation is in progress, a
different frame not related to the back/forward navigation will commit. In
this case, we will incorrectly clear information about the back/forward
navigation in HistoryController. When the back/forward navigation commits,
HistoryController will incorrectly keep the old page as the current entry.

The fix present here is a terrible, temporary hack. The correct fix is
likely to have side effects on the 1750 branch, so I plan to land this and
merge it once it's proven safe, then land the correct long term fix.

BUG=338480
TEST=WebFrameTest.BackDuringChildFrameReload

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

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