Currently package signature verification logs do not indicate what package caused the failure. This PR improves this by adding package identity to the assets file in case of a restore failure.
In the PR `SignatureLog` has been updated to be of type `ILogMessage` and a helper method has been added to transform a `SignatureLog` into a `RestoreLogMessage`, which is then written into the assets file.
We introduce a new package type for dotnet tools, with compatible asset as "tools/tfm/rid/any.extension.
That package is only compatible with a special project type that the CLI will create, DotnetToolReference.
1 package per project, that package has to be a dotnettool.
DotnetTooReference works almost exactly the same way as Package Reference with the above restrictions in place.
Notable: Tool Restore does not generate Msbuild props and targets, for failures
No no-op artifacts for tool restore.
* Adds functional tests on NuGet.CommandLine to cover scenarios related to warning properties.
* Improved Console and RestoreSummary logging code to use helper methods.
* Added more filtering in WarningPropertiesCollection to not upgrade Warnings if their NuGetLogCode is Undefined.
* Improved the default NuGetLogCode for RestoreLogMessages which are below LogLevel.Warning to NuGetLogCode.Undefined.
Merging all test utilities together. Test.Utility is now a common layer that all tests can use that sits between the product projects and test projects.