simplify the exchange allocator

@brson: how does this look?

The only thing blocking removing the initialization of the last field in the header is ~fn. I think we'll need to switch ~fn to another transitional allocator before it gets rewritten, and then we can stop initializing that field and copying it in `trans/uniq.rs` for the take glue.

Once none of the fields are initialized, removing the header will just involve updating the code in trans using an offset from the start to not do it if the box doesn't contain anything managed.