Use full path for aspnetwebstack pkg-config file

Referencing the assemblies by DLL name isn't enough for MonoDevelop to
pick them up for listing. Use the full path so they show up the
references list.
Improve ABCREM on 64-bits architectures

Array indexes can be 32-bits integers even on 64-bits
architectures. This causes most loops to fail Array Bounds Checking
REMoval because the index is sign-extended before the check (see
mini_emit_ldelema_1_ins).

Sign-extending an I4 to I8 preserves its value, hence it is possible
to propagate the relation between the variables.
[corlib] Promise style tasks cannot be started manually. Fixes #16857
[mcs] Restore async modifiers context after nested enums declaration. Fixes #16997
Fix a small typo in mono-core.spec.in breaking the build

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Add tests for empty, non-modifiable SortDesriptionCollection
Make empty SortDescriptionCollection read-only.

This is in accordance with the behavior of SortDescriptionCollection in .NET.
[eval] Consider base type members in tab completion
Merge pull request #854 from antoniusriha/sortDescription

Make SortDescriptionCollection returned by SortDescriptionCollection.Empty read-only
Merge pull request #855 from echampet/spec

Fix a small typo in mono-core.spec.in breaking the build
[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.
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