SI-5905 Sanity check -language options

The option names are hardcoded, but checked by a test.

There are no hooks to verify options after the compiler
is constructed.

Introduced a `MultiChoiceSetting` required for the
setting creation framework.
SI-5905 Restore -language:_

Underscore means all.

-x:c,b,a,_ results in value c,b,a,a,b,c,d,...

Currently, -Xprint does not present phases as a closed
set of choices; there is ad hoc checking in Global.
That would be a nice unification. (You don't know the
list of choices until after global is constructed.)
SI-5905 Clarify test case

The language feature options are discovered reflectively, but it
is nice to enforce that expected options are supplied.

Short of that, the code string includes a rowdy postfix operator.

It still does enforce that at least one option was discovered.

Delete -nowarn flags file. Let's see if that was to suppress
a warning in the standard build.
Merge pull request #3597 from som-snytt/issue/5905-feature-help

SI-5905 Sanity check -language options
Revert "SI-5905 Clarify test case"

This reverts commit 78bd175afcc89878ca1c00cce69d0517909c6ff3.

See discussion:

  https://github.com/scala/scala/pull/3597#commitcomment-6270375
Merge pull request #3732 from retronym/revert/5905

Revert "SI-5905 Clarify test case"
Merge origin/master into topic/master-to-2.11.x-2
Merge pull request #3734 from retronym/topic/master-to-2.11.x-2

Merge master to 2.11.x