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!
Is this necessary? Seems like it might be creating dependencies in the wrong direction. The most flexible and powerful approach would be for us to put `ab_testing` in `INSTALLED_APPS` explicitly, at the position we want.