Add edX OAuth2 provider with OpenID Connect support

Separate PR is fine.