Add a prototype for an extension that sits in between the SQLite native code
virtual table interface and a CLR IDisposable object.
Integration adjustments for the vtshim module.
The vtshim xCreate and xConnect functions need to store the pAux pointer into the newly created vtable object.  Style fixes.
Enhance error message handling for the vtshim module.
Update the boundary3.tcl script so that it can be run with tcl 8.5 or 8.6 to regenerate boundary3.test.
Add the "vtshim" extension, implementing a wrapper around the virtual
table interface to make it Disposable for the CLR.  No changes to the
core.
Update the ".import" command of the command-line shell so that it can
accept field values that span multiple lines and so that it issues
error messages if the input text does not strictly conform to RFC4180.
Add extended error code SQLITE_BUSY_SNAPSHOT - returned in WAL mode when a read-transaction cannot be upgraded to a write-transaction because it is reading from a snapshot other than the most recently committed.
The undocumented and unsupported ".selftest" command in the command-line
shell utility is now only available if compiled with SQLITE_DEBUG.  Also
fix a windows compiler warning in that command.
Improved handling of backslash escapes on double-quoted arguments to
dot-commands in the command-line shell.
If the filename argument to the ".import" command in the command-line shell
begins with '|' then treat it as an input pipe rather than a file.
Add a test to ensure that if BEGIN IMMEDIATE fails with SQLITE_BUSY, it does not leave the user with an open read transaction (unless one was already open).
Make sure that sqlite3_stmt_readonly reports false for
PRAGMA journal_mode and PRAGMA wal_checkpoint.  Ticket [a589ec069e3].
Also keep track of whether a prepared statement does no reading or
writing.
Fix an error in e_expr.test.
Refactor names of fields in the sqlite3 object:  "activeVdbeCnt" becomes
"nVdbeActive".  Related fields becomes "nVdbeRead", "nVdbeWrite", and
"nVdbeExec".
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted.
Fix an issue with the OmitNoopJoin optimization and add test cases that
are specifically for that optimization.
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control()
that will disable the use of SQLITE_STAT3 information in the query planner.
Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();").
Add the SQLITE_DEFAULT_AUTOMATIC_INDEX compile-time option, which if set to
zero turns automatic indices off by default.  Increase the estimated cost
of an automatic index.  Additional minor refactoring of the automatic
index code.