table1**table2<tab> join expansions

Lots of changes here, including changes to sqlite schema.
Need to run a %flush_metadata then %rereflect to rebuild
metadata for a connection.

* foreign keys are reflected and stored in the sqlite dbfields table
* tab completion of joins short-hand syntax feature added:
    $ select t1**t2<tab>
  will produce:
    $ select t1.*, t2.* from t1 inner join t2 on t2.f = t1.f
  If there is a valid join between t1 and t2. This works with any
  number of tables: t1**t2**t3**...tn