TESTS TO ADD

* Test that ":db-kind :key" adds an index for that key. This is complicated by 
  different backends showing autogenerated primary key in different ways.
* :db-constraint tests
* Number and Char field types
* symbol slot
* generalized-boolean slot
* tests for db-reader and db-writer

OPTIMIZATIONS
 
* Revisit result-type list creation, perhaps caching
* Rework LIST-ATTRIBUTE-TYPES and LIST-INDEXES such that they exhibit their 
  current behaviours using single database queries.  
* Possible use of cached attribute type information for operations which 
  insert/update records as mentioned in the CommonSQL user guide. 
* Extend caching of generated SQL strings to more complex expressions which 
  are likely to be repeatedly executed many times. 

POSSIBLE EXTENSIONS

* improve large object api and extend to databases beyond postgresql 
* add support for prepared statements

RACE CONDITIONS
* sql/databases.lisp: *connected-databases* is shared globally but not modified in a threadsafe manner.
