Small improvements to the concurrent queue.

	* mono-cq.c (mono_cq_add_node): Add a store store fence
	between the two stores as they can be observed OOO.

	* mono-cq.c (mono_cq_create): Use precise roots for head
	and tail.
Prevented any logging activity when no logging target is specified rather than synchronizing the entire AppDomain just to write to TextWriter.Null
Fixed syntax error in not comparing log_writer with null
This is a fix for bug # 853 --
see:  https://bugzilla.xamarin.com/show_bug.cgi?id=853

What was happening was ColumnMappings were never being set, so when another
Update function (which this eventually called) went to map the parameters,
it couldn't find any matching column names, so it set all the parameter values
to null.

This code, or very similar code, appeared in:
 public int Update (DataRow [] dataRows)
 public int Update (DataTable dataTable)

But was left out of:
 public int Update (DataSet dataSet, string srcTable)

This code adds the relevant code into the function it was left out of.

Ideally, longer term, this code would be consolidated into a function which
was commonly called by all 3 update functions, but i didn't want to risk
breaking the other two functions which probably already work fine.
This is the associated unit test for the Ximarin Bugzilla #853 bug...

Confirmed it fails without the bug fix, and passes with it.

Also confirmed again that no other System.Data tests failed that weren't
previously failing.  With this test, there were 9 failures before the patch
is applied, and 8 failures after the patch is applied.  Also tested before
I changed anything and previous to my changes 8 tests in System.Data were
already failing.  This patch previosuly committed in other words does not
introduce any new bugs to the system.data tests.
Add newer (SL5) types to mobile profile. Fix bug #5337
Merge pull request #305 from robwilkens/master

This fixes bug # 853 in ximarin bugzilla.
Merge pull request #304 from crazyjncsu/master

Disabling WCF log activity when logging is disabled by configuration
Add more caching to the pinvoke loading code, tidy up the logging a bit.
Cache regex results when comparing mdoc Nodes during sorting. This avoids the creation of about 300k objects and decreases GC time by 100ms during md startup.
Don't report obsole warnings on compiler generated attributes
Exclude more console code from NET_2_1
[corlib] A CancellationTokenRegistration instance should always have a working GetHashCode method

Reported by knittl
Add some compiler documentation
Add new whole heap verifier that can catch a whole lot more problems than previous tools did.

	* sgen-gc.c Add verify-before-allocs and verify-before-collections experimental
	options to perform heap verification at the many different points in the app.

	This does check all pointers in the heap, so it's much much slower than
	the previous option.
This addresses bug 2234 - important please verify

https://bugzilla.xamarin.com/show_bug.cgi?id=2234

It includes unit tests.

The point of this is essentially to replicate a behavior of the
Microsoft .NET Platform where exceptions are eaten in the ComboBox
under certain conditions (In the SelectedIndexChanged handler).
Add fields in generic instances too when AOTing. Fixes #5316.
Replaces some tabs with spaces - earlier copy and paste messed this up, this
shouldn't affect any code, just its formatting.
Some improvements suggested by discussion in pull request

Change-Id: I9d1c2dc31b7f744a7d948fd5fb27d15b77c0ee11
Add another Task test