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!
Hmm my design decision for allowing a plain object was so that apps don't have to import anything from `dynamic_assets`, and make the app dependency graph simpler. I prefer that, but if you see the need for introspection to be stronger then we can just make our own base class with "fields" like you said.