Experimental changes toward "index only" tables.  Add the ability to specify
options on CREATE TABLE statements using the WITH clause modeled after
PostgreSQL and SQL Server.  Only the "omit_rowid" option is currently
recognized and that option is currently a no-op.
Simplification of the syntax:  Merely append "WITHOUT rowid" to the end of
the table definition.
Previous refactor is not going to be helpful because implied indices must be
created in the same order that they appear in the CREATE TABLE statement
for backwards compatibility.  This is a much smaller change to clean up a
few loose ends.
Extra backwards-compatibility tests verify that UNIQUE and PRIMARY KEY 
indices are created in the correct order.  Other backwards-compatibility
tests already cover this, but it does not hurt to double up.
Add a procedure to handle the messy details of allocating an Index object
from the heap.
The Index object now has nKeyCol and nColumn.  nColumn is the total number
of columns and nKeyCol is the number of key columns.  Currently these always
differ by one.  Refactor aiColumn[] to be of type i16 instead of int.
Build internal data structures appropriately for WITHOUT ROWID tables.
Some simple inserts and queries working on WITHOUT ROWID tables.
Some inserts and queries working for multi-column primary keys
and WITHOUT ROWID.
Get VACUUM and the xfer optimization working with WITHOUT ROWID.
Report an error when trying to resolve column name "rowid" in a
WITHOUT ROWID table.
Construct secondary indices on WITHOUT ROWID tables.
Change the sqlite3OpenTable() utility to open the PRIMARY KEY index when
reading a WITHOUT ROWID table.
Correctly handle queries that use secondary indices of WITHOUT ROWID tables.
Remove an obsolete comment from the VDBE.  No code changes.
Delete PRIMARY KEY index entries last.  Only construct the unique prefix of
an index key when deleting entries from an index.
Update the interface to the sqlite3GenerateRowDelete() utility so that it is
able to handle WITHOUT ROWID tables.  The implementation still needs to be 
completed.
Basic DELETE operations now working on WITHOUT ROWID tables.
Progress toward getting UPDATE to work in WITHOUT ROWID tables.
Minor refactoring of variable names and fixes to comments in insert.c.