Subject: SQLite database connectivity improvements.
Name: Nick Crookston
Date: December 9 2018
Variants affected: All

Description:
Some runs were failing without proper error messages. With this change, failing
runs will have much more informative error messages. More importantly, with this
change it is unlikely runs will fail with database "busy" situations. These are
generally caused by a processing writing to a database when another is trying
to read from the same tables. A busy handler has been added to make this unlikely.

Impact on users: Improved reliability.

Files:
changeNotes/2018.12.09_ncrookston.txt
  These notes                                         
dbsqlite/dbsexecsql.f
  Improved error processing for errors in sql.
dbsqlite/dbsin.f
  Improved error processing and messages for connections errors and queries. 
dbsqlite/dbsopen.f 
  Removed "call abort" for open and use return codes.
dbsqlite/fvsqlite3.c
  Add a "busy" handler that causes FVS to sleep if a database is "busy". The
  code allows for 2000 retries every 10 ms (20 seconds total) before it
  gives up and issues a database busy error. This can be changed. Testing 
  suggests that little or no overhead by adding this capability.
vdbsqlite/dbsstandin.f
  Improved error processing and messages for queries.                                                     