[Mono.Parallel] Removed broken Mono.Threading.Tasks code

The code in MonoTaskExtensions.cs relied on the internal method Execute(Action<Task>) in System.Threading.Tasks.Task which was removed in 0a66e60.
Added stress test to ConcurrentQueue.TryPeek.
The test checks that in some race condition the queue does not return null.
Changed TryPeek to handle race condition with Dequeue.
Dequeue sets the head.Value to its default. When TryPeek is interrupted in the process of retrieving the value some times Dequeue sets the value to its default. TryPeek now checks the head has not been changed before returning the value.
Override registry storage with MONO_CURRENTUSER_REGISTRY_PATH

https://bugzilla.xamarin.com/show_bug.cgi?id=358
Merge pull request #1109 from adbre/iss358

Override registry storage with MONO_CURRENTUSER_REGISTRY_PATH
[System.ComponentModel] BindingList.ListChanged now attempts to provide a PropertyDescriptor when possible.
BindingList subscribes to PropertyChanged events of eligible contained objects. Iff the PropertyName provided is valid,
the list event's ListChangedEventArgs will also contain a PropertyDescriptor.

This is to match MS behavior.
[xbuild] Implements property functions using constructor syntax. Fixes #12999
Revert change that introduces a new undocumented environment variable
[xbuild] Parsing conditions with property references. Fixes #20634
Merge pull request #1074 from esdrubal/bug18421

Changed TryPeek to handle race condition with Dequeue.
Merge pull request #946 from akoeplinger/fix-mono-parallel

[Mono.Parallel] Removed broken Mono.Threading.Tasks code
[System.Runtime.Caching] Fixed test that failed intermittently on slow systems

Apparently on slow systems the items with 1sec expiration time are already removed from the cache by the time the #CS3 Assert() is hit, which caused the test to fail.
Increasing the expiration time by +2sec should hopefully fix this.

Commit licensed under MIT/X11.