More improvements to sqlite3BtreeMovetoUnpacked() performance.
More optimizations to sqlite3BtreeMovetoUnpacked().  But there are failures
in TH3.  Committing this intermediate state to facilitate bisecting.
Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell
parse cache invalidated.  This fixes issues with previous check-ins on this
branch and also runs faster.
Optimize the skipping of the payload size field when doing a binary search
for a rowid.
Uses shifts rather than division for arithmetic on the cell indices, since
those indices are always non-negative.
Return an SQLITE_CORRUPT error if the content size field of a table record
extends off the end of a page.