Fix warnings by only declaring variables when they're used
Treat warnings as erros in Mono.Optimization
Disable unused variable warning for debug only variable
Treat warnings as errors in mcs project
Set pscorlib_aot-net_monomac to treat warnings as errors
Treat warnings as errors when building mcs release
Disable warning CS0649 in Protocol.cs

Make peace with the compiler about fields not having default values
assigned.
Don't warn about these fields being assigned and never used
Don't warn about CS019 in pscorlib

The compiler issues a level-three warning, when you declare and assign
a variable, but do not use it. General sentiment is that they're benign,
so let's not worry about them in pscorlib.