[test] add easily repro GC testcase for GH #1159
[core] add INTERPINFO_MAX_GENERATIONS api

Returns the defined constant for gms (changed from 4 to 3), or 0.
Allow -DGC_MAX_GENERATIONS=n to be set via --ccflags.
benchmarked with parrot-bench: 3 and 4 are the best, 8 is also interesting.

Todo string collects in t/op/gc-leaky-call.t and ..box.t
  There's no apparent need to collect strings, when none are
  allocated during a cycle.
  But add a collectable string for the lulz
[gc] enable on_dirty_list assertion, document pobj flags

and improve the GH #1159 testcase. It was too slow
[gc] Change semantics of GC_MAX_GENERATIONS

GC_MAX_GENERATIONS=3 means now 3 generations: 0,1,2.
It was too odd and head-scratching to define 4 for max 3 generations
[gc] fix the GC regression GH #1159 in resizablepmcarray

Always do PARROT_GC_WRITE_BARRIER with rpa unshift, even with the fast case.
The same with resize skip, where only the right side is adjusted.
Just skip the WB when the old size == new size.

This should fix the gc errors on small machines with big programs.
parrot-bench is now 1.2% slower.