[sgen] Remove obsolete argument to clear_unreachable_ephemerons().
[sgen] Fix a misplaced #ifdef.

This disabled some debugging stuff on platforms not
supporting DTrace.
[sgen] Remove redundant argument to sgen_cement_lookup_or_register().

It can figure out whether a concurrent collection is running on its own.
[sgen] Remove concurrent_cementing argument to sgen_add_to_global_remset().

Since it doesn't need to pass it on to sgen_cement_lookup_or_register() it's not
needed anymore.
[sgen] Make synchronous collections with marksweep-conc more standard.

Before, to do a synchronous collection with marksweep-conc we would start a
concurrent collection and then wait for it to finish.  To integrate evacuation with
marksweep-conc we need synchronous collections to work like they do with the
non-concurrent collectors.
[sgen] Evacuation for concurrent mark (during forced collections).
[sgen] Do non-concurrent GC to evacuate when the need arises.
[gc] Mono.Runtime method for enabling/disabling synchronous collections.
Merge branch 'feature-concurrent-evacuation'