* Make the preference about removing default access modifiers
(dotnet_style_require_accessibility_modifiers) a warning so that `dotnet
format` fixes any such issues.
* Change the 'var' style when type is apparent to use 'var' instead of the
type (this seems to be what we do in most places anyways), and make it a
warning so that `dotnet format` fixes any such issues.
Added the following new checks:
```csharp
// dotnet_style_coalesce_expression = true
var v = x ?? y;
// dotnet_style_coalesce_expression = false
var v = x != null ? x : y; // or
var v = x == null ? y : x;
```
```csharp
// dotnet_style_null_propagation = true
var v = o?.ToString();
// dotnet_style_null_propagation = false
var v = o == null ? null : o.ToString(); // or
var v = o != null ? o.String() : null;
```
```csharp
// dotnet_style_prefer_is_null_check_over_reference_equality_method = true
if (value is null)
return;
// dotnet_style_prefer_is_null_check_over_reference_equality_method = false
if (object.ReferenceEquals(value, null))
return;
// dotnet_style_prefer_is_null_check_over_reference_equality_method = false
if ((object)o == null)
return;
```
We are adding the warnings for net6 for customers, but those same
warnins do appear when we build the intermediate assembly and makes it
very very noise and hard to find errors. We can disable them for our
projects via stating that they are generated.