Implement aging in the split nursery.
* sgen-split-nursery.c: Implement aging. Age information is
stored in 512 byte buckets in parallel to the nursery.
This increases our bandwidth requirements by a small bit
but has the advantage not requiring us to mess with the
status word of objects.
Reducing the number of available bits for hashing sounded
like a specially bad idea since ages above 1 are not very
usefull unless you're a long living object.
The object promotion code was split into a fast/slow path
since we now have per-age bump allocators. The fast path
is extremely efficient and does only 3 comparisons and a
bunch of cache hot lookups.