Update mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/XsdDatatypeProvider.cs

The text, which arrives decoded, must be escaped when manually concatenating strings aimed to be consumed by an XML reader.
For instance, if the original document to be validated contains
<a href="http://example.org/?a=1&amp;b=2">fail</a>
then value will contain "http://example.org/?a=1&b=2"
and before the patch, that would have generated an exception.
I am not sure however, if the whole Parse() function works correctly.
In addition, the function is using XmlValidatingReader, which is deprecated.
Guid.TryParse and Guid.TryParseExact should not throw exceptions.

According to the MSDN documentation, http://msdn.microsoft.com/en-us/library/system.guid.tryparse.aspx and http://msdn.microsoft.com/en-us/library/system.guid.tryparseexact.aspx, Guid.TryParse and Guid.TryParseExact should "return false if input is null or not in a recognized format, and does not throw an exception."
Using MidpointRounding.AwayFromZero for rounding the calculated number of Ticks when creating a TimeSpan.FromXXX.
Updating System.Text.Encoder's Convert method bounds checking to be compliant with Microsoft's documentation. (http://msdn.microsoft.com/en-us/library/dh0797c4.aspx)
If a CookieContainer is set, always use its cookies.

Previously, cookies from the WebHeaderCollection and CookieContainer were sent. This also fixes a bug with ServicePoint sending duplicate cookies when SendRequestHeaders is called more than once:

* WebConnection.InitConnection
* HttpWebRequest.SetWriteStream
* HttpWebRequest. SendRequestHeaders
* WebConnectionStream.WriteRequest
* HttpWebRequest.SendRequestHeaders

Replacing the cookie header value in the WebHeaderCollection with the cookies stored in the CookieContainer also matches the behavior of Microsoft's .NET implementation.
Merge pull request #416 from LogosBible/a29fd0668e4303d71acb46fb3acfa1f1d451d161

Fix for incorrect behavior of Guid.TryParse and Guid.TryParseExact. Bug Id: 6402
Merge pull request #418 from LogosBible/bug6403

Bug #6403: Use MidpointRounding.AwayFromZero when rounding creating a TimeSpan.FromXXX.
Merge pull request #419 from LogosBible/bug6404

Bug #6404: System.Text.Encoder only throws ArgumentOutOfRangeException when appropriate
Unit tests for Bug #6405

Unit tests for https://bugzilla.xamarin.com/show_bug.cgi?id=6405
Merge pull request #411 from Alkarex/patch-2

Update mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/XsdDatatypeProv...
[corlib] Modified Array.qsort*() to inline sorting of the larger partition

This prevents potential StackOverflowExceptions on really large data sets.

Partial fix for bug #6406
Merge pull request #420 from LogosBible/bug6405

Bug #6405: If a CookieContainer is set, always use its cookies.
Fix type inference with explicit non-generic types. Fixes #6421
[corlib] Make all qsort() implementations completely non-recursive

This is a better fix for StackOverflowExceptions on large data sets.
[corlib] Fallback to Insertion Sort in the non-generic qsort()

Many thanks to Martin Potter <martin.potter@logos.com> for taking
the time to implement this, crossing it off of the long TODO list!
Check same name collision in different namespace containers. Fixes #6378