SI-6566, unsoundness with alias variance: document fix

Commit a419799f872d5aae99728d711b1ced89e06804a8 changed the behavior of
relativeVariance, but without updating the corresponding comment. Fix
that.
README.md: Add link to CONTRIBUTING.md
SI-7707 SI-7712 Exclude unused warnings from -Xlint

Experience building open source projects like Specs that use
`-Xlint` suggests that this warning is too noisy to lump in
with the others.

We are lacking in more fine-grained control of these things, so
simply turning of `-Xlint` in favour of its underlying `-Y` options
ends up *losing* some other important warnings that are predicated
directly on `-Xlint`.

Furthermore, bug reports against M8, SI-7707 SI-7712, show that
unused private/local warnings, while far less noisy, are still
in need of polish.

This commit moves these warnings to a pair of new -Y options,
neither of which is part of  `-Xlint`..

Let's ask people to opt in for 2.11, and as it stabilizes, we can
consider adding it to Xlint (or the desirable evolution of that)
in the next release.
Expose a means to disable boolean settings

Enables `-Yboolean-setting:{true,false}`. This will be exploited
in the next commit to enable one to turn off a single component
of a group setting, such as `-Xlint` or `-optimize`.
Group settings should honor user-set individual options

In the last commit, we added the ability to explicitly disable
boolean settings form the command line.

This commit changes group settings (like -optimize), to leave
them alone if set explicitly.

Examples:

   `scalac -Xlint -Ywarn-unused:false -optimize -Yinline:false`

The mechanism for such settings has also been refactored to
`MutableSettings`, to let use reuse this for `-Xlint`.
SI-8301 fix regression with refinement subtyping, wildcard type.

In the enclosed test case, the list of candidate implicit is
checked for eligibility with the view by:

    pt = Test.sym.type => ?{def asFreeType: ?}
    tp = (sym: Test.u.Symbol)Test.u.CompatibleSymbol
    matchesPt(tp, pt)

This ends up in `TypeComparers#specializesSym`, which compares:

   symLo = asFreeType: => Universe.this.TypeSymbol
   symHi = asFreeType: ?

Before the regression in fada1ef6, that method called `isStable`
on both of these to make sure that `symLo` was as least as stable
as `symHi`. Both returned `false`, and, they matched.

After that refactoring, two calls were made. `isStable` *only*
checked for stability, and gave the same results as before.
But, the new check for volatility believes that the low symbol
was more volatile than the high, because `WildCardType` is treated
as non-volatile.

Really, it should have the same volatility as whatever it is
being compared to, so that these sort of comparisons yield true.

This commit ammends `specializesSym` to special case `symHi: ?`,
and ignore the volatilty gap in that case.
Merge pull request #3544 from retronym/topic/unused-warnings

Toning down the noise of -Xlint and allow `-optimise -Yinline:false`
SI-8304 Allow volatile-typed Idents as stable ident patterns

As we did for `Select`-s in SI-6815 / fada1ef6.
SI-5165 separate compilation test Java annotations bug

Progressed at the genesis of GenASM, dc6a49337f.
SI-5134 Test case for fixed DelayedInit / structural type bug

As with SI-5655, this started working in b4fbb7be0e by @magarciaEPFL
SI-8072 rationalize public implicits in scala parallel collections

Pretty much everything seems like it's intended for internal use, so I moved it to a package-private object.

Split toParArray out and put it in an implicit class.  Added ability to .toParArray from Array and String also.

Added test to verify implicits are gone.
SI-5565 Test case for fixed delayed init bug

Fixed in b4fbb7be0e by @magarciaEPFL
SI-7932 Exclude PolyTypes from Java generic signatures

In the enclosed test case, we were emitting just the result type of
`[a, b]Float` in the Java generic signature.

This resulted in a `GenericSignatureFormatError`.

This commit changes `argSig` to project such type functions to `*`
instead.

The test case shows that we still emit the class when we use
its type constructor directly as the type argument.
Optimization: remove assertion from SubstMap constructor

A profile [1] reported 3% of a compile run was spent here.

This commit demotes the eager check to -Xdev.

This assertion was added in e557acb9a7.

[1] https://dl.dropboxusercontent.com/u/106552/perf/rudder-nailgun-2014-02-18-1.snapshot
Merge pull request #3547 from retronym/ticket/5565

 Test case for fixed delayed init bug
Merge pull request #3549 from retronym/ticket/5134

SI-5134 Test case for fixed DelayedInit / structural type bug
Merge pull request #3548 from retronym/ticket/5165

SI-5165 separate compilation test Java annotations bug
Merge pull request #3529 from Ichoran/issue/8072

SI-8072 rationalize public implicits in scala parallel collections
Merge pull request #3552 from retronym/topic/opt12

Optimization: remove assertion from SubstMap constructor
Merge pull request #3545 from retronym/topic/8301

SI-8301 fix regression with refinement subtyping, wildcard type.