vec: make vec_reserve_shared_actual private
add a temporary vector_exchange_malloc lang item
remove headers from exchange allocations
auto merge of #7605 : thestinger/rust/vec, r=Aatch

This is work continued from the now landed #7495 and #7521 pulls.

Removing the headers from unique vectors is another project, so I've separated the allocator.