Treat warnings as errors except deprecations

The standard library is a special case, especially regarding compatibility support. Most of these warnings were not things we'd normally want people to ignore for long periods of time.

I'm interested to know why you feel this way. Most warnings do come with a fixit or message telling you how to quiet the warning, and having such a mechanism is an important consideration we take into account before adding any new warning.