Put unique allocs in managed heap when they might contain managed boxes.
auto merge of #5083 : graydon/rust/gc, r=graydon

r? @pcwalton

Local testing shows it's correctly putting things like ~(@10) in the managed heap. Not entirely sure how to turn such tests (which just log annihilation stats) into a regression test; we don't have much in the way of feedback from the annihilator. Open to suggestions. I will want to be keeping more detailed runtime stats on the gc as I proceed.