Studio/uses mixed modulestore

https://edx-wiki.atlassian.net/browse/STUD-1540

Here is a summary of the changes we made as part of this story:
1. Updated Studio and LMS so all callers, with a few exceptions, go through the `MixedModulestore`.
2. Changed the configuration setting format so the Stores listed in the Mixed configuration can be ordered by preference, via a `list` rather than a `dict`.
3. Updates the settings for all Test code so they should all go through Mixed, unless they are explicitly testing a particular store.
4. Introduced a new Setting called `MODULESTORE_BRANCH` that specifies the default "branch" (draft or published) to check for relevant modulestore methods.  Currently, the `DraftModuleStore` uses this setting.  Eventually, the `SplitModuleStore` will also honor it.
5. Updated the `MixedModuleStore` API and all their callers to take in the `user_id` for all Edit operations.
Note to reviewers: this StaticTab specific logic was moved up from the guts of `create_and_save_xmodule` since it is higher-level logic and specific to how we currently handle StaticTabs.