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
Support multiple update streams

This patch allows the upgrader to upgrade multiple database update
'streams'. The main stream is renamed to 'core' to reflect changes made
to the config class. This will significantly ease customizations
requiring database customizations, and will make plugins requiring
database changes possible.
Fix the actual upgrade process
Allow streams to be registered in streams.cfg
Add start of documentation for database migration

Allow `streams.cfg` to be implied as 'core', which will default to only
upgrading the core osTicket stream.
Use signature to describe snapshots rather than md5