Moved has_course_access from CMS to student.auth (common)
Change has_course_access definition and doc string

- has_course_access renamed to has_course_author_access for clarity
- Changed doc string to clearly state that it determines whether or not
  a user has write access to a course
Make studio serve the oauth2 provider
Made OAUTH_OIDC_ISSUER have a sane default

- Added in OAuth2 config to cms/envs/aws.py
- OAUTH_OIDC_ISSUER default now constructed from SITE_NAME and optional
  OAUTH_OIDC_ISSUER_PATH with https by default
API djangoapp skeleton
Pull import/export views from CMS
Include API in LMS and CMS
Dedouple API from contentstore
Use semantic versioning for API
Replaced session login and CSRF with OAuth2
Added authentication classes

- To ensure that the request is from an authenticated user
- To ensure that the user has access to all course
  content (GlobalStaff, OrgInstructorRole, or OrgStaffRole)
Swap out all responses to use django rest framework
Add HttpResponse import back in
Added GITHUB_REPO_ROOT to LMS configs
Fix import errors and remove GET from import view

- Remove GET & it's logic from import view
- Prevent unintended unhandled exceptions from happening when a course
  tar is passed with a wrong reference name
Refactored views as APIViews and removed utils
Remove get_user_role, as it's not longer a dependency
Ported tests over