Set a new user's password after email confirmation

Also improves failed password login process to be more robust.
Merge branch 'login-change'

* login-change:
  Set a new user's password after email confirmation
  Clean some style issues
  Rename external login provider sub-module