Add support for trust-on-decrypt (API change, recognise flag on
isKeyBackupTrusted). Catch rejection on wrong passphrase / recovery
key. Fix remembering whether we are restoring with key or passphrase.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/836
Only fail if there were any keys in the backup (which does mean
that the backup will always succeed if there aren't any keys which
could also be misleading, but is probably not as bad and can probably
be fixed with Trust on Decrypt).
Also cheekily fix the error message so it talks about passphrases
if you used a passphrase and recovery keys if you used a recovery key.