AuthManager fixups around the login→RESTART→create flow
- ApiQueryAuthManagerInfo will differentiate between preserved linking data and a preserved createRequest.
- ApiQueryAuthManagerInfo will indicate the preserved username, if any, because the client will have to pass that back to action=createaccount.
- ApiClientLogin won't tell about the confusing CreateFromLoginAuthenticationRequest returned on RESTART responses.
- Explain how 'preservestate' works in ApiAMCreateAccount's auto-doc.
- ConfirmLinkSecondaryAuthenticationProvider will filter out requests that can no longer be used (i.e. if it was for linking the account that got used for creation).
- All the complicated code in AuthManager::beginAccountCreation() was trying to deal with allowing the client to pass only the CreateFromLoginAuthenticationRequest. That was dumb, removed it.
- Added methods to CreateFromLoginAuthenticationRequest to indicate its status with respect to different kinds of preserved state.
- Increase accuracy of the AuthenticationResponse::$createRequest doc.
Change-Id: I726d79de18e739d6e60c1eea51453433c21ba207