[mdoc] No longer documenting explicitly implemented private interface members.

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

If a class explicitly implements an internal interface, those members will no
longer be documented, nor will the interface show up in the class' signature.
This allows for a library to hide internal implementation details that an end
user would not be able to take advantage of (ie. can't cast to internal
interface to call methods).

Includes test (check-monodocer-internal-interface)  added to makefile.
[mcs] Handle crash in binary operators when enum is used and nullable type is undefined
Updated links in CONTRIBUTING.md
[mcs] null operator on unconstrained generic values
[mcs] Don't consider loads from captured local cheap
[x86] Reenable the no pushes code again.
Fix a warning.
[facades] Add ComInterfaceType type forwarder
[sgen] Remove SGen fixed heap configuration.

It's not well-tested, not widely used, we can surpass its speed with
upcoming improvements and we won't put those into the fixed
configuration because it's too much of a diversion.
[sgen] Remove parallel collector.

This was almost completely untested and performance was
erratic.
[sgen] Implement get_and_reset_num_major_objects_marked() for non-conc, too.

This is used for profiling and debugging.  There's no reason to only
have it for concurrent.
[sgen] Abstract block info->block via macro.

If we want to experiment with putting the block info into the block this
makes it easy.
[sgen] Remove obsolete check in #ifdef.

That macro doesn't exist anymore.
[sgen] GrayQueueEntry struct instead of just char*.

This makes it easier to later enqueue the GC descriptor with the
object.
[sgen] Pass descriptor, not vtable, to OBJ_COMPLEX_ARR_FOREACH_PTR.

Later on, when we enqueue objects with their GC descriptors, we won't
load the vtable before scanning (because we'll already have the
descriptor), so the scanning macros shouldn't take them as arguments.
[sgen] Enqueue objects with their descriptors.

At the point where we enqueue objects we have already fetched their
descriptors, and when we later scan them (after dequeuing) we need the
descriptor again, so we avoid cache misses by enqueuing them together.
[sgen] Free gray queue sections after GC, not at start of next.

We trim the free list of the gray queue to a maximum number of
sections, but we did it at each collection start, so the extraneous
sections were kept around between collections.
[sgen] Simplify sgen_drain_gray_stack().

This seems to have accumulated code duplication by accident.
[sgen] Added some comments.
[sgen] do-while loop instead of 1-unrolled while loop in bitmap scan.