Add an internal interface that allows the code to take advantage of multiple
cores by pushing subcomputations off into separate threads.  The interface
is not currently used.
Add Win32 support to the internal threads interface.  Also, add several asserts and fix a few typos.
Enhance implementation of the Win32 thread wait function.
Add an assert() to help verify the return code from the Win32 thread wait function.
Update the threads branch to include all the latest trunk changes.
Update the spellfix virtual table so that all OOM errors are reported out
to the application.
Cherry-pick [555fc07]: 
Changes to the thread routines to disable them when threading is turned
off using sqlite3_config().  Also merge all recent trunk changes.
Update version number to 3.8.4.1
Version 3.8.4.1
Prevent the rtree module from reading sqlite_stat1 data from the wrong database.
Changes to FTS to ensure that it does not access the database from within the xConnect method.
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called.
Merge latest trunk changes into this branch.
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0.
Performance enhancements and size reduction for sqlite3VXPrintf()
Clean up some obsolete "register" declarations in printf.c.
Add an experimental multi-threaded capability to vdbesorter.c.
Experiments with the optimization of ORDER BY and GROUP BY clauses.
Adjust the query planner to keep track of the number of ORDER BY terms
satisfied.  Still doesn't do anything with this information.  Some tests
fail after this check-in, but all failures are believed to be benign.  The
failures will be addressed at a later stage.
Make the partial-ORDER-BY information in the query planner available to the
SELECT code generator.  Still doesn't make a difference in the generated code.