Use the keychain to store keys
This MR switches to using KeychainAccess to store crypto keys in the iOS Keychain instead of the insecure UserDefaults.
The SecretStore uses this to keep cross-signing keys and secret storage keys locally on the device so that we can reconnect to an account without bothering the user to input the key or password again.