[mcs] Don't wrap reference type values in explicit nullable conversion. Fixes #16900
Move internals from Microsoft.Build.Tasks to new dll Mono.XBuild.Tasks

All internal members (such as PcFileCache) have been made public to make them unit-testable.

* mcs/class/Makefile: Add Mono.XBuild.Tasks as build target

* mcs/class/Microsoft.Build.Tasks/Makefile: Add Mono.XBuild.Tasks.dll as build
  reference of Microsoft.Build.Tasks.dll

* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_2_0.csproj:
* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_3_5.csproj:
* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_0.csproj:
* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_5.csproj: Remove
  source files, which have been moved to Mono.XBuild.Tasks.dll and add a
  project reference to Mono.XBuild.Tasks.dll

* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks.dll.sources: Remove
  files that have been moved to Mono.XBuild.Tasks.dll from
  Microsoft.Build.Tasks.dll

* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/PcFileCache.cs:
* mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/LibraryPcFileCache.cs:
  This file was moved to Mono.XBuild.Tasks.dll

* mcs/class/Mono.XBuild.Tasks/Assembly/AssemblyInfo.cs: Moved from
  Microsoft.Build.Tasks.dll. Signing key is mono.pub.

* mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/PcFileCache.cs:
* mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/LibraryPcFileCache.cs:
  Moved from Microsoft.Build.Tasks.dll. All internal members have been made
  public.

* mcs/class/Mono.XBuild.Tasks/Test/Mono.XBuild.Tasks/PcFileCacheTest.cs: Create
  test file stub.
Setup PcFileCache stubs and ctor tests
Add a test for PcFileCache.GetPackages()
Remove redundant pc info store.

* PcFileCache.filesByFolders held copies of the package infos in
  PcFileCache.infos grouped by the resp. pkg config directories the pc files
  resided in.

* Rewrite GetPackages:
    - Returns a snapshot-in-time IEnumerable<PackageInfo> ordered by pkg config
      folder.
    - Noramilzes paths of pkgConfigDirs parameter

* Remove now superfluous method PcFileCache.Add(,,)
Remove obsolete pc infos from pc cache on Update()

The pc info file cache (~/.config/xbuild/pkgconfig-cache-2.xml) stored data
for files which don't exist anymore on the system which causes
https://bugzilla.xamarin.com/show_bug.cgi?id=11133.

This patch removes obsolete entries from the cache when
PcFileCache.Update() is called.
Avoid adjusting selection twice in TextControl.

This commit licensed as MIT/X11.
Implementation of System.Reflection.ParameterInfo.HasDefaultValue
Merge pull request #838 from desdesdes/master

Implementation of System.Reflection.ParameterInfo.HasDefaultValue
Merge pull request #849 from antoniusriha/pcCacheBug

Fix for PkgConfig cache orphaned entries bug (xam bug #11133)
Merge pull request #822 from carlosmn/asp-pc

Use full path for aspnetwebstack pkg-config file
[aot] Sanitize utf8 characters in symbol names. Fixes #16851.
Remove usage of mini_replace_type () from mono_jit_runtime_invoke (), runtime invokes care about the precise types of parameters. Fixes #16830.
Change System.Windows.Forms.DataVisualization PKT to match Windows.

This commit licensed as MIT/X11.
Avoid infinite loop in property getter.

This commit licensed as MIT/X11.
Implement GroupDescription based on moonlight implementation
[sdb] The sdb library depends on Process.Start returning a Process object, so force UseShellExecute to false.

This fixes a massive breakage on wrench.
[jit] Avoid nullifying class init trampolines for recursive calls to class initializers. Fixes #16489
Merge pull request #859 from antoniusriha/groupDescription

Implement GroupDescription based on moonlight implementation
Merge pull request #858 from madewokherd/datavis

System.Windows.Forms.DataVisualization fixes