Federate configuration settings

Change the config table from a column-based table to a key-value table
with namespacing. This allows several parts of osTicket to store their
respective configurations in the same table without requiring database
structure updates

'namespace' is reserved in PHP
Use an abstract Config class and auto-created records
Drop OstConfig::updateAttachmentsSettings(), ::allowSMTPSpoofing()

Attachment settings were merged into ticket settings
SMTPSpoofing feature was moved to per-email rather than global
Add persistence configuration

Allow (a subset of) the configuration to also be saved in the session to
make session-backed data more consistent and compatible with up-and-coming
multi-site setups.