Add edX OAuth2 provider with OpenID Connect support

Do you need to do this reordering? It seems like you're changing a lot of versions that you don't need to in this PR.