Add a persistent implementation of the credential store and

make the encryption/decryption happen outside of the class instead
of inside the memcache implementation so that it can be reused.