Cache SCRAM-SHA-1 keys for current session

Caches the SCRAM-SHA-1 client key and server keys for the current session (keys are not persisted across reboots) in an LruCache.

If a cache miss is detected a new key pair is automatically generated. A cache miss will occur if the user changes the username or password, or if the server changes the salt or iteration count used for PBKDF2.