Reduce memcache traffic for central session storage
Reduce read traffic by using a CachedBagOStuff, and write traffic by
skipping the write if nothing has changed and it's not relatively close
To handle the last bit, this moves the handling of the 'expiry' central
session variable into CentralAuthUtils::setCentralSession(). It seems
that it used to be used instead of the memcache expiry to expire
sessions, but 1896fc65 got rid of that and it has been unused ever
since so we may as well repurpose it.