Google and Facebook Login

- Implemented Google Login
- Implemented Facebook Login
- Fixed race condition bug in OpenID providers
- Refactored and abstracted out code related to OpenID/ OAuth login