Refine implicit authentication

Fixes a bunch of bugs with the implicit auth flow:

- Occasional crash on signing out
- Persisted accounts always requiring re-authentication in Safari. This should almost never happen
- Accounts picker shows '(null)' account even when user bails from Safari and flow
- Signing into first account will automatically use whatever session is in Safari
- Signing into another account on the same nation would fail
- Sometimes accounts would fail to persist

NOTE: Does not include documentation updates for any changed interfaces, and there are some changes (simplifications, actually).