Provide a way to disable major features in production without a restart
We should not have to restart all workers/services to disable a major feature, such as Elasticsearch (see gitlab-org/gitlab-ee#459). The operations team needs to have a way to deactivate features just by unchecking a box.
We should consider mandating that all features must be enabled/disabled via the Application Settings. Moving the Elasticsearch config there from the YAML file is a good start.
Do we want to go farther and provide the ability to toggle feature flags for buttons/other features that may be in "beta" (i.e. the Gmail Labs model)?
Thoughts, @DouweM, @pcarranza?