Refactor ADVANCED_COMPONENT_TYPES

    Modified to a setting in common.py
    This enables third parties to add XBlocks to their system
    without having to make a code change.
This is tricky. These variables are here because there are other places in the Python code that need to access specific advanced module names, and we wanted constants for those names. But putting those names as variables in settings doesn't make sense, as the names are not intended to change (they are not actually settings...). One needs to look at the places these variables are used and think about what would happen if they AREN'T in the ADVANCED_COMPENT_TYPES list. Those places most likely need to check if the modules are in ADVANCED_COMPENT_TYPES, and then do whatever action only in that case.