Begin inserting some experimental code for the next generation query planner.
In where.c, make findTerm() a wrapper around methods to a new WhereScan object
which is capable of finding all suitable matching terms, not just the first.
This check-in includes some prototype functions for building WhereLoop objects.
Inserting a few WhereLoop objects without leaking memory.  Costs are
not correct.  Inequality and IN constraints are not implemented.
Continued progress on generating good WhereLoop objects for the new query
planner.
Add the NGQP solver.
Bug fixes in the solver.
More bug fixes to the WhereLoop generator and the solver in NGQP.
Now finds the best plan for TPC-H Q8.  This seems to prove the
concept, but there is still much work to be done.
Fix the wholenumber virtual table so that it returns higher costs for
unconstrained usage.
NGQP working with virtualt tables, though many legacy tests fail and there
are yet some memory leaks.
Fix memory leaks in the NGQP logic for virtual tables.
Free up bits of wsFlags for reuse.  Install the ORDER BY optimization
infrastructure for the NGQP.
Merge in the latest trunk changes.
Factor out common operations into whereLoopAddAll().  Add stubs for
missing features.
Update the NGQP so that it can produce plans that include automatic indices.
Now generating OR-clause plans.
Minor fixes to the OR-clause processing in the NGQP.
First attempt to get ORDER BY optimization working in NGQP.
Merge in all trunk changes up through the 3.7.17 release.
Work toward improving the NGQP's ability to optimize out ORDER BY clauses.
Enhanced "wheretrace" output in the NGQP solver routine.