add TableSet support; add generic db connections; various;

Table sets are now supported, which involved making the cache aware on another dimension beyond simply language ID. Preliminary support for changing the current table set was added to settings panel.

Generic db connectivity has been put in place, likely covering the majority of default use cases. If a connection cannot be made the user is instructed to create a DNS, though currently limited to a specific set of usernames and passwords. Likely extended later to support user supplied settings.

Some code refactoring and file restructuring took place. Several bugs were addressed. Token parsing was ostensibly improved.