Improve the performance of the ANALYZE command by taking advantage of the
fact that every row of a UNIQUE index is distinct.
Ugh.  Consecutive UNIQUE index entries are only distinct if the index is
on NOT NULL columns.  So the previous version was not quite right.  This
check-in fixes the problem.
Avoid change tests when analyzing single-column unique indexes after
getting past the initial NULL entries.
Avoid trying to allocation zero bytes when analyzing a unique non-null index.
Fix a bug in the whereRangeSkipScanEst() procedure (added by
check-in [d09ca6d5efad3e4cfa]) where it fails to consider the possibility
of a ROWID column when computing the affinity of a table column.
Improve the performance of the ANALYZE command by taking advantage of
UNIQUE constraints on indices.
Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of
OP_Next and OP_Prev.
Improved comments on VDBE opcodes, for better documentation.  No code
or logic changes.
Try to fix harmless compiler warnings reported by Fortify.
Avoid unnecessary no-op calls to applyNumericAffinity() for a small
performance improvement.
Remove an unreachable branch from the sqlite3_value_numeric_type() interface.
Enhancements and updates to the Win32 mutex subsystem.
Have calls to the xFilter() method of rtree virtual tables ensure that cursor is initialized before proceeding. Fix for [d2889096e7bdeac].
Add the SQLITE_TESTCTRL_ISINIT file control.
Merge updates from trunk.
Enhancements and updates to the Win32 mutex subsystem.
Merge all recent trunk changes, and especially the R-Tree IN operator fix
of ticket [d2889096e7bdeac].
Ensure that the correct number of columns in a UNIQUE index are checked for
uniqueness, regardless of whether or not the original table has a ROWID or
if the columns are NOT NULL, etc.  Ticket [9a6daf340df99ba93c].
Merge in the CREATE UNIQUE INDEX fix of ticket [9a6daf340df99ba93c53bcf].