Refactor ADVANCED_COMPONENT_TYPES

    Modified to a setting in CMS common.py and aws.py
    Also factored out are: ADVANCED_PROBLEM_TYPES

    This enables third parties to add XBlocks to their system
    without having to make a code change.

    Code also added to ensure that a component should exist in both
    ADVANCED_COMPONENT_TYPES and the course advanced module list
    in order for it to be enabled in the course.
Added clarification for events that do/not include session values
Merge pull request #4683 from edx/ahodges/documentation/AN2976

Added clarification for events that do/not include session values
Merge pull request #4512 from Stanford-Online/dcadams/refactor_advanced_component_types

Refactor ADVANCED_COMPONENT_TYPES
Cleaned pylint quality issues in instructor email content history code.
Merge pull request #4688 from Stanford-Online/njdupoux/email-content-history-qualityfixes

Cleaned pylint quality issues in instructor email content history code
Fix Video Player Initialisation Issue
Merge pull request #4691 from edx/ammar/fix-video-init-issue

Fix Video Player Initialization Issue
Allow verified to be offered without audit
fixup! Allow verified to be offered without audit
Add the ability to override non-standard verified mode names
Add an optional description field to course modes.
Fix up tests and enrollment behavior.