Fix browser capabilities compatibility with ms.net by 1) Avoid issues with capabilities defined with same name, but diferent case. and 2) favor majorversion/minorversion capabilities, but fallback to majorver/minorver if not found, to preserve compatibility with previous versions.
See Reported Bug #4786 in bugzilla which this attempts to resolve (and seems to succesfully).

This is a one line change:  result = null; had to be set before going back to the 'retry' point in GetConnection..

This is/should-be safe because we had just disconnected result a few lines earlier.

Without this change, under certain conditions which would flag a retry, when it went to the retry point
it wouldn't reset 'result', and as a result the main loop at the top of the GetConnection() function would
be skipped (it has -- while (result == null) -- at the retry point, and it would always be not null when it reached
that on retry), after which point it would just continue to retry on the same result indefinitely, which would eventually
result in an exception being raised.
This is the addition of a quick and dirty NUnit test for Bug 4786

This bug was fixed in another commit/push by Robert Wilkens (me).
This NUnit test will fail without the patch (It will raise a
NullReferenceException from within mono), but with the patch for that
bug it will not raise an exception and the test will exit cleanly.

Please note, the top of this patch source sets up a temporary network
socket to listen to a port which pool.GetConnection() simply tries to connect
to.  No data is transfered so nothing needed to be done other than to
call Listen() on that socket which was bound to the port.  If the listen fails,
it means something else is listening already, which is fine, so we ignore
any excpetions from this part of the code (catch and ignore).
This is a minor change to earlier commit which removes a commented out
sql server that should not have been there.  It changes nothing functionally,
but the server is a temporary server, so referencing it didn't make sense.
Force disposal of Sqlite commands with using-statements in order to better isolate the unit tests.
Add support for remoting invokes to sdb. Fixes the runtime part of #4962.
Xamarin-5116: Fix pasting of text with upper-ASCII chars

Text copied to the clipboard by another app may contain
text in Latin-1 with upper-ASCII characters instead of
the UTF-8 encoding we expect.

Also fixed problem unescaping characters when they are
followed by more text.

Change-Id: Ib8d746d42c1d34dccf8ddbf8db28e1515952fe05
Unit test for bug Xamarin-4959

Because the clipboard is a shared resource between applications
it is possible that the test sometimes fails for wrong reasons
if another app manipulates the clipboard just at the right time.

Change-Id: I1a52b62d2958ece35c8927172d94ab6ccb3183b0
Xamarin-4959: Fix copy of clipboard data after app exits

Clipboard.SetDataObject allows to pass a copy parameter that
determines whether the data will be kept on the clipboard after
the app exits or not.

This patch implements this for X11 (or rather GTK).

Change-Id: If69e75239ea35432e44f32a8a5ba54f3fe1fb60a
Xamarin-4921: Fix Listbox.SelectedItem after adding sorted item

When we add an item to a sorted listbox the indices of the selected
items change and need to be updated.

Change-Id: Ia32849fe10480354835dcd48b37d326d612af04f
Fix typo
Emit warning for uninitialized structs. Fixes #4852
Fix failing tests

Change-Id: Ia0969271d3bf7bdfd78fe17160e09dcb1c278eda
Fix failing test Parse_InvalidShortDate()

Parsing a date/time depends on the local timezone.

This patch also fixes the assertions where expected and actual
value were backwards.

Change-Id: I6a024e97050470fb043bc0d4a97aa39624271fcc
Add unit test for Novell-710512

Change-Id: Id541a554eb07205da45c4b7fdbfba2da1feda362
Fix a very rare hang on sgen.

	* sgen-gc.c (restart_threads_until_none_in_managed_allocator):
	When suspending threads, if a given thread was suspended on
	a gc unsafe point we restart it until it land on a safe zone.

	Since we restart the thread, it might die before we get the chance
	to suspend it again, we take this into account except when waiting
	for acks. We mistakenly waited for the same number of acks of the
	restart step. It could have been reduced if a thread died.

	This bug is very very hard to hit as it only happens on linux,
	requires that a thread on an unsafe point dies right after been
	restarted and it must not be a managed thread as those must take
	the GC lock while cleaning up.

	This sums up to a mostly theoretical bug that someone might
	have observed once in the wild. We're better fixing it now
	since further optimization work might make it easier to hit.
Novell-710512: Fix GetUtcOffset when called with UTC time

Adjust the behavior of the TimeZone.GetUtcOffset() method to
match the documentation. MSDN says: "If the value of the Kind
property is DateTimeKind.Utc, the method returns an offset equal
to TimeSpan.Zero". Previously we returned the difference between
the current time zone and UTC even when the passed in time was
in UTC.

Change-Id: Icaa233f079a74315ccf1ce95787629c37317b412
Merge pull request #299 from ermshiperete/710512

Fix for Novell-710512 (TimeZone.GetUtcOffset) and failing tests
Return the proxied type instead of TransparentProxy for object types in sdb.
Fix altstack support in libgc by registering the bounds of the normal stack and the altstack with it.