* Moved time functions from pkg stringz to pkg timez
* Refactor options.Opt
* wip: initial work on configurable time layout
* wip: most printers now respect format.datetime and friends
* Folded pkg timefmt into timez
* Refactor options.Opt; refine options
* Add 'sq config set OPTION --help' mechanism
* Finished completion of OptDateFormatAsNumber and OptTimeFormatAsNumber
* refactor: partially moved over driver.Tuning params to options
* All knobs moved to options
* sq config edit: now has comments for options
* Major work complete on config/options overhaul
* Major work complete on config/options overhaul
* Updated help text for 'sq version'
* sakila: initial test data
* sakila: more test data
* sakila: yet more test data setup
* whitespace cols: now working for sqlite
* grammar cleanup
* whitespace cols: now working inside count() func for sqlite
* whitespace cols: tests mostly passing; begining refactoring
* grammar: refactor handle
* grammar: more refactoring
* grammar: rename selElement to selector
* wip
* all tests passing
* all tests passing
* linting
* driver: implement CurrentSchema for all driver.SQLDriver impls
* driver: tests for AlterTableRename and AlterTableRenameColumn
* undo reformat of SQL
* undo reformat of SQL
* undo reformat of SQL
* undo reformat of SQL
* wip
* made progress on new SQLite type stuff
* we're getting places
* largely working now
* tidying up
* almost there
* time to deal with failing tests
* seemed to have fixed sqlserver issue
* seems to all be fixed
* minor tidy up
* yet more linting
* yet more linting
* yet more linting
* yet more linting
* yet more linting
* yet more linting
* yet more linting
* yet more linting
* debugging
* generic retry functionality; some additions to stringz.go
* fiddling with magefile_sakila
* added test lock function testh.Lock
* bunch of linting, goimports, what not
* BaseFragmentBuilder now quotes table and col names for joins
* Refactored libsq.engine so that the SQL generated from SLQ input can be tested
* Deleted dead code; additional comments
* implementation work for json importers
* json driver checkpoint
* working on json.ParseObjectsInArray
* json.ParseObjectsInArray seems to be working
* checkpoint while tidying up ParseObjectsInArray
* more tidy checkpoint
* more tidy checkpoint 2
* tidying up ParseObjectsInArray
* tidy up
* code/docs cleanup
* more cleanup of json driver
* more cleanup of json driver
* flat json import seemingly working
* improvements to json driver
* json writer now prints empty [] for postgres empty tables
* Type Detector refactor
* json driver impl; refactoring of source.Files reader et al
* working on kind detector
* significant switcheroo of packages
* partway throught refactoring Kind
* major package switcheroo for Kind
* improvements to sqlite source metadata query
* table metadatawriter colorization tuning; minor testh.Helper refactoring
* cleanup of metadata for multiple drivers
* more cleanup of source/table metadata
* yet more cleanup of source/table metadata
* improvements to mysql SourceMetadata
* improvements to mysql TableMetadata
* yet more fiddling with mysql metadata
* initial refactoring for the numRows param
* work on driver.NewBatchInsert
* work on NewBatchInsert
* batch insert seems to work
* switched testh.Insert to use BatchInsert
* doc cleanup
* batch insert for dbwriter and csv
* removed unneeded NumRows from driver.StmtExecer
* minor tidyup