Fix tests not using ModuleStoreTestCase

Some tests test were using `CourseFactory` buy not deriving from
`ModuleStoreTestCase`, introducing a course leaks that broke other
unrelated tests.
Modify notification_pref tests to avoid changes to module store

Calling the client root was causing the module store to be modified,
affecting test in other Django applications that rely on the default
state of the module store.
Add edX OAuth2 provider with OpenID Connect support
Merge pull request #5263 from rocha/rc-oauth2-provider

Add edX OAuth2 provider with OpenID Connect support