Add the ability to dark-launch languages

To mark a language as dark-launched, add it to the DARK_LANGUAGES
django conf setting. To activate a dark-launched language, set he
query parameter `preview-lang` to the language code on any url.

[LMS-2045]
[LMS-2077]
[LMS-2076]
Add config_model, a library for database backed configuration

ConfigurationModels can be managed using the admin site. They are
append-only, and track the user who is making the change, and the time
that the change was made. The configuration is stored in the database,
and cached for performance.

[LMS-1220]
Switch dark_lang to database backed configuration
Merge pull request #2294 from cpennington/language-dark-launch

Add the ability to dark-launch languages