Set random password when creating user using oauth to prevent `null` issue & potential security hole
While using OAuth check first for user with email if any is provided, otherwise check database for given username
Merge pull request #662 from stloyd/bugfix/oauth_user_creation

Set random password when creating user using oauth to prevent `null` issue & potential security hole