This include inverting the order of table view rows so the newest is
at the top, without that the Qt MVC interactions when using a database
table based model is too slow and complex to manage.
The table views now have sort by column capability in the normal way
(click column header to reverse sort order) for timely logging and
non-disruption of Tx starts the log view should be sorted in
descending time order and scrolled to the last row added. Without that
Fox and contest logging will work but serious delays may be invoked
that disrupt operation.
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.
Relax the requirements of the ForeignKeyDelegate and related
CandidateKeyFilter classes to allow them to work with constant model
pointers for both referenced and referencing models.