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!
Interesting. So DynamicSettings can be a dict, model, or function...? Any reason to need all 3 options?

I would still recommend having DynamicSettings be a class, inheriting from a shared base class, with "fields" (CharSetting, IntegerSetting, BooleanSetting) similar to a Django model (but not actually a Django model). This will allow introspection, validation, and other stuff that will be useful down the road, especially once we make some of these settings user-configurable.