This change converts to using the Central Package Version Management
feature in NuGet, enforcing that all PackageReference versions are
tracked in one central place.
I also bumped up the dependencies for most of the packages that we rely
upon.
Code changes are to address new analyzer issues from updating to the
latest analyzer packages.
* All projects (src and test) should import the same versioning package. Move it to the root Directory.Build.props
* Update PackageReference metadata in a consolidated place. Because the .targets file updates package references, it is safer than using pre-declared versions (which may be forgotten in PackageReferences).
* Also updating Newtonsoft to a consolidated version (9.0.1).