FEATURE: Allow linking an existing account during external-auth signup
When a user signs up via an external auth method, a new link is added to the signup modal which allows them to connect an existing Discourse account. This will only happen if:
- There is at least 1 other auth method available
- The current auth method permits users to disconnect/reconnect their accounts themselves
This PR contains two other commits which clean up the backend implementation to make this possible. This PR is intended to be rebased & merged.