This diff splits up `processSuccessfulLogin` into two:
1. `processSuccessfulLogin` (same name as before), which does cookie/session stuff, Olm initialization, policy stuff, and other general "session setup" work
2. `fetchRegistrationResult`, which fetches the data that we need to send to the user in the response.
There's also a new utility `handleSuccessfulLoginResult`, which looks at the response from `processSuccessfulLogin` and decides whether to call `fetchRegistrationResult`.
The reason for splitting it into two is that in the registration case for both `siweAuthResponder` and `keyserverAuthResponder`, we want to do some additional steps between these two (`sendMessagesOnAccountCreation`, formerly known as `processAccountCreationCommon`).
Depends on D12038