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.)
Fix run/t3569.scala under checkinit
Fix run/t5256h.scala under checkinit
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
SI-8570 set the checkinit bit for unit-typed fields of traits

Fix only, refactoring in subsequent commit.
Clarify and clean up trait getter / setter generation
Disable run/t7974 under checkinit
Merge pull request #3734 from retronym/topic/master-to-2.11.x-2

Merge master to 2.11.x
Merge pull request #3730 from lrytz/checkinit

Fix checkinit build
Merge remote-tracking branch 'origin/2.11.x' into merge/2.11.x-to-2.12.x