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`.