Reduce the amount of memcpy() required by defragmentPage().
Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress.
Attempt to further reduce memcpy() in balance_nonroot().
Further work on balance_nonroot().
Merge trunk changes into this branch.
Fix some code duplication issues on this branch. Add minor optimizations to the new code.
If a skip-scan is a proper subset of some other scan, then adjust the
cost of the skip-scan upward so that it is more costly than the other scan.
Such a cost imbalance can arise under STAT4 because of difficulties in getting
an accurate estimate for skip-scans.
Improvements to the WHERETRACE debugging logic.
Further tuning of the cost estimates for skip-scan loops, especially for cases
when skip-scan loops are in competition with regular loops.
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and
when synchronous=FULL in order to ensure that transactions are durable
across a power loss that happens moments after the commit.  Proposed
fix for [https://bugzilla.mozilla.org/show_bug.cgi?id=1072773].
Take steps to avoid misestimating range query costs based on STAT4 data
due to the roundoff error of converting from integers to LogEst and back
to integers.
Merge latest trunk with this branch.
Change the 0x800 bit of SQLITE_TESTCTRL_OPTIMIZATIONS so that it disables
the loading of STAT3 and STAT4 content, not just the using of that content.
Change the internal name of that bit to SQLITE_Stat34.
Disable the use of strchrnul() unless specifically enabled by compile-time
options.
Implement sqlite3_create_collation() by invoking 
sqlite3_create_collation_v2() with a NULL destructor argument.  This saves
a little space.
Add the SQLITE_ENABLE_API_ARMOR compile-time option.  This is a work in
progress and is not yet completely functional.
Fix two problems.  Tests now passing.
Get the likelihood() functions working on operators like BETWEEN that
create virtual terms in the WHERE-clause analysis.
Honor a high likelihood() on range constraints.
Fix some minor formatting and code organization issues.