Enable the b-tree cursor objects overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors.
Combine the various boolean fields of the BtCursor object into a single
bit-vector.  This allows setting or clearing more than one boolean at a
time and makes the overflow-pgno-cache branch faster than trunk on 
speedtest1.
Remove a stray C99-style comment.
Only use the direct-overflow-read optimization if all data from the overflow page in question is being read.
Experiments in picking better query plans, especially when the usage of one
index is a subset of another.
Make sure that an index that covers a proper superset of the WHERE clause
terms of some other index has a lower cost than the other index.
Also make sure an index that is a proper subset of some other index has a
higher cost than that other index.  Add test cases.
Remove an unnecessary conditional.
Merge in the latest changes and fixes from trunk.
Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined.
Minor performance enhancement and size reduction.
Remove an unnecessary conditional, replacing it with an assert().
Improvements to comments.
Ensure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode
with ATTACH-ed databases.
Merge changes to the query planner that strive to ensure that any index 
usage that is a proper subset of some other index usage always has a slightly
higher cost.
Performance improvements when reading large blobs, especially if
SQLITE_DIRECT_OVERFLOW_READ is defined.