IndexedDB: Fix cursor prefetching edge cases

Cursor prefetch caches must be discarded when other
requests are made to ensure proper request sequencing.
Two edge cases were handled improperly if new records
was written just ahead of the cursor.

* A reset occurring before the prefetch results were
received would be ignored; since the newly records
weren't in the prefetch data, the cursor wouldn't see
them.

* A reset occurring after the results are received
would back up the cursor to before the new records,
even though the prefetch itself is a "continue"
and advanced past them already.

The fix is to reset the cache on receipt if necessary,
and to ensure the reset state accounts for the implicit
advance.

BUG=331570

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=243344

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243421 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 243421