* sort out error codes, sqlite error codes should probably be offset, 
  rather than the protocol errors being offset. 

* re-write server engine to be single-loop event driven to properly
  deal with interrupts	

* Fix connection messaging so sub-queries can be executed during
  results of a main query at present this foobars the client state.
  
* ditto to support multiple database connections from the same client 
  allong the same connections, i.e. make the whole thing more async.

* hack vbde a bit to give the current db status (i.e. in transaction
  or not) so we can arbitrarily re-use spare sqlite*s) (might be
  possible using sqliteInt.h) 

* sort out timeouts on dis-used free sqlites* so we can keep malloc to
  a minimum

* some form of basic authentication mechanism

* change schema/type engine a bit, so XDR_tree s directly reference
  the appropriate schema rather than just the basic types. 

* Decide what to do about sqlite compatibility, whether to just
  emulate everything in the client or have a wrapper.  - might be more
  intutitive to re-write client to a non-callback type model.