[sgen] Cementing

For some workloads nursery collections are very slow because we have
pinned objects that are referenced from many major heap objects,
causing us to do excessive remset processing.

Cementing detects those objects and pins them perpetually (until the
next major collection) so we don't have to keep remsets for them.

See

  http://schani.wordpress.com/2012/12/18/sgen-write-barrier/
[sgen] Binary protocol for cementing.
[sgen] Binary protocol for global remsets not only for SSB.
[sgen] Option for disabling cementing.
[sgen] Fix whole heap check for cementing.
[sgen] Shadow cementing table to allow cementing during concurrent major collections.
[sgen] Whole heap check can only lookup, not change the cementing hash.
[sgen] Make cementing work with split nursery.
[sgen] Use SGEN_ASSERT for cementing assertions.
[sgen] Comment on the cement modulo hash.
[sgen] Move cementing parameters to sgen-conf.h.
[sgen] Better explanation for scanning whole nursery with split/concurrent.
[sgen] Fix an assertion that triggered with simple nursery, marksweep-conc and cementing.
[sgen] Run SGen tests with marksweep-conc and split nursery.
Merge branch 'feature-perpetual-pinning'