External auth

- Add external authentication with google and facebook
- if user with same e-mail already exists (created account with other provider, or signed through form), associate the accounts
- dropped twitter auth due to api restrictions (they don't provide user email and other info).