Part of https://github.com/element-hq/crypto-internal/issues/282 (Invisible Crypto).
#3563 added a new IdentityBasedStrategy room-key sharing strategy. #3564 added a "tofu" flag to ReadOnlyUserIdentity. We now need to update share_room_keys to check the tofu flag.
Add new cases to OlmError, to be returned by share_room_keys:
OlmError::UnconfirmedIdentityChange(Vec<OwnedUserId>) if the user has not yet acknowledged an identity change for the recipient; and: Update 2024-08-08: we no longer want this behaviour.
OlmError::SendingFromUnverifiedDevice if our current device has not yet been verified.