Keystore test updates

Adding some more "chaos" into the multi-threaded key store tests unearthed some thread safety issues with passcode / key store key changes.  I moved the onus of updating the key store dictionary's encryption into the actual setter of the key store key, to simplify the atomicity there.