Revert "[monkeydoc] Remove debug spew"

This reverts commit 8344309a7b2285db8ebb0af5ec8651d6bf02f375.
[monkeydoc] Avoid variable name clash
[monkeydoc] Use a map to quickly access zip archive content.
[monkeydoc] Only calculate internal id if necessary
[monkeydoc] Proxy back GetCachedHelpStream to the right member
[monkeydoc] Handle more special generation case
[monkeydoc] Disable now unneeded hack
Revert "Revert "[monkeydoc] Remove debug spew""

This reverts commit 783bcfb735b17b48eee7670a896a29dfd6023174.
Fix style to adhere to mono's coding guidelines.
[tests] Fix pinning in finalizer-exception.cs.

The finalizable object got pinned, so it wouldn't be finalised.  Just
recurse a bit and allocate it there.
[monkeydoc] Due to some existing doc, revert to Ordinal instead of OrdinalIgnoreCase
[monkeydoc] Robustify EcmaDesc equality checking and fix unit tests
[monkeydoc] Precise the HelpSource that is tested in the error output
Add stats for cards remarked by the gc and left untouched by the mutator after.

	* sgen-cardtable.c: A nursery object might not be promoted if it's pinned
	or, unlikely, the major heap is full. Under those circumstances we need
	to remark the card and leave the object behind.

	With this we can see how many extra cards are kept due to pinning.
Merge pull request #515 from pruiz/syswebrouting-fixes

Fixes xamarin-bug #8646: Inconsistencies with MS.NET on Sys.Web.Routing logic
Merge pull request #498 from Unroll-Me/master

Fix HttpContextWrapper.Session when Session State is disabled
Merge pull request #513 from pruiz/xamarin-bug-8565-v2

Fixed xamarin-bug #8565: System.Runtime.Serialization assembly remapping bug when targeting 2/3/3.5 profile.
RegistrationServices from the Mobile profile. This is only required for COM.
Handle a loader generic type hierarchy corner case. Fixes bxc #8549

	* class.c: Handle the case when the parent of a GTD needs a generic
	instance of the child type leading to a generic instance with
	inconsistent values.

	Say we have this set of types:

	class TextBoxBase<T> : TextInput<TextBox> where T : TextBoxBase<T> {}

	class TextBox : TextBoxBase<TextBox> {}

	class TextInput<T> : Input<T> where T: TextInput<T> {}

	class Input<T> {}

	Now the runtime tries to load TextBoxBase<>, this is the sequence of events:

	1)Load type TextBoxBase<>
	   2.1)Type has parent, find it
	   2.2)Lookup parent TextInput<TextBox>
	         3.1)Lookup TextInput<>
	            4)Load type TextInput<>  //OK
	         3.2)Lookup TextBok
	            5)Load type TextBox
	               6.1)Type has parent, find it
	               6.2)Lookup TextBoxBase<TextBox>
	                     7.1)Lookup TextBoxBase<> //OK
	                     7.2)Lookup TextBox //OK
	                     7.3)Create generic instance TextBoxBase<TextBox> //BOOM

	Let's examine what happens in (7.3), we try to create the generic class instance TextBoxBase<TextBox>
	which means we must inflate all of its MonoClass fields. One field in particular, parent, will be set to null
	because the lookup for TextBoxBase parent in (2.2) still running which means the current value is null.

	What does it mean? It means that TextBoxBase<TextBox> extends object and our program will misbehave.

	Fixes bxc #8549
Avoid a newline in some mono_trace () calls, it already adds one.