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 might be overkill, once we add more and more dynamic settings. Especially if it's not namespaced, since it might swamp context coming from the views? It would also make the context messy to inspect with debug toolbar etc. Also, it makes it a bit too easy to start relying on these vars in a template without knowing the template is going to be cached.

Perhaps it would suffice to make these settings available to the view method, which can pass them into the template context selectively as needed. Actually, if we're sticking them into a dict on the request object, they would still be indirectly accessible from the templates via "request.dynamic_vars.my_var" or whatever (though I still think that's good to avoid).