Prefer session persistent configuration over database

This will allow setting something in the session and having that value
override the value from the database. If ->persist() is called for a given
key, a following ->get() will result in the session persisted value being
returned. ->set() will still save the value in the database.

This is mostly useful for last-mile scenarios (and future plugins) that need
to affect the configuration of the system without altering the data in the
configuration table.
Merge pull request #590 from greezybacon/feature/config-prefer-persist

Prefer session persistent configuration over database

Reviewed-By: Peter Rotich <peter@osticket.com>