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-8325 Spec accepts infix type *

Remove the clause in 3.2.8 that reserves `*` as a postfix
modifier thing.  For emphasis, the language that an infix
type name can be an arbitrary identifier is retained, sans buts.
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
SI-8576 Temporarily disable part of serialization test

Parts of this test fail if testing a library built with -Xcheckinit.

The failures seem to be in two categories:

  - A component of the serialized structure does not have a
    declared SerialVersionUID, meaning that the extra field
    added to track initialization results in a different ID.
    This manifests as a `java.io.InvalidClassException` when
    deserializing the blobs of data saved in the test case.
  - Spurious `UnitializedFieldErrors` when calling methods on
    the object that has been serialized and then deserialized.

Until we figure out the right course of action (more @SerialVersionUID
annotations / weaker tests / ...), this commit disabled those tests.
Merge pull request #3739 from retronym/ticket/8549-partial-revert

SI-8576 Temporarily disable part of serialization test
SI-8578 Avoid fresh name clashes under -Ydelambdafy:method

It is important to append the fresh 'N' after '$'. Otherwise, we
find out the hard way that ("foo$11" + "1") == ("foo$1" + "11").
SI-8578 Avoid another potential fresh name clash

No test case for this one, but see the preceding commit for
the class of bug that I'm trying to avoid.
Merge pull request #3722 from som-snytt/issue/8325-spec-update

Issue/8325 spec update