-Ystatistics accepts a list of phases for which to print stats

Also cleaned up handling of defaults in MultiChoiceSetting.
Yes, good point. To make the test fast, I'll go back to your solution of having private BooleanSettings, and having them set as a post hook of lint, makes sense.

For `value.contains` / `contains`, I really think we should keep them consistent. If `value` is "what was supplied", should it contain duplicates, `_`? If not, how should we decide what to de-sugar, and what not?

`PhasesSetting` does something on its own, but as you say, it should be merged with MultiChoice.

I'll try another thing: The variable `v = Nil` is inherited from `MultiStringSetting`. If it wasn't, we could implement it with getters / setters, that may give enough flexibility to get it the way we want.