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`.
Merge pull request #3544 from retronym/topic/unused-warnings

Toning down the noise of -Xlint and allow `-optimise -Yinline:false`