This adds a prompt whenever we are about to perform some action on a default identity
server (from homeserver .well-known or Riot app config) without terms. This
allows the user to abort or trust the server (storing it in account data).
Fixes https://github.com/vector-im/riot-web/issues/10557
This changes the 3PID state gathering (used in Settings) to ignore terms errors
(no modals will be shown) on the assumption that other UX handles this case.
This invokes the terms modal flow when inviting someone by email. Entering an
email triggers a lookup to the IS, and if it has terms you need to agree to,
then a separate modal is shown to complete this activity. You then come back to
invite screen after agreeing to the terms.
Fixes https://github.com/vector-im/riot-web/issues/10093