Disallow new users from Oauth signup if `allow_single_sign_on` is disabled

Because devise will trigger a save, allowing unsaved users to login, behaviour had changed.
The current implementation returns a pre-build user, which can be saved without errors.

Reported in #1677
Merge branch 'issue-respect-single-sign-on' into 'master'

Issue respect single sign on

Fixes #1677 by making sure the per-build user is saved as well. Otherwise the user is passed to devise, and the user is saved afterwards, creating a successful signup.

See merge request !1186