Cache settings in SettingsLib

SO that way, we aren't making a MySQL request for every single
settings get. Now, if we requested it once, we're going to hold
onto that value, so that if it's ever needed again it's there.
Also, when we set a value, set it in the cache so that we can
access it later.