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!
And I'm wondering whether we do want to go with an all-caps convention, since that makes them look a lot like they came from settings.py (as "constant" settings). Perhaps lowercase with underscores? If we do always keep the dynamic variables explicitly bundled/namespaced into an object, rather than mixed into the template/JS namespaces, then it should be clear where they came from.