feature-DBPerformance

Breaking out common functions into a QModelBase class.
Improving performance by removing reliance on GetColumn.
Adding unit tests.
Adding local caching of database objects as they get created.