Dynamic assets

WIP

So, this loads a `DynamicSettings` object defined in a `dynamic_settings.py` file within the apps. It combines them together into one dictionary, and that dictionary is issued to JS and template variables. It will then share a JS file containing those variables. Other apps can also use those template variables to customize their assets beyond what is in the JS file.

Other notes:
1. It checks all apps defined in INSTALLED_APPS for dynamic settings. However, apps defined in DYNAMIC_SETTINGS_INSTALLED_APPS are prioritized, and their values always replace the values defined in other dynamic settings. By default, `ab_testing` is in said variable.

What's left to do:
1. Create the dynamic_assets/js template JS.
2. Migrate template variables to load the dynamic asset's JS variable.
3. Brainstorm how `ab_testing`'s schema would look like.

@jamalex here's the PR finally!
This will be another advantage of having it be a class -- we can check and selectively pull the attributes that inherit from BaseSetting (the IntegerSetting, BooleanSetting, etc instances).