groupcompress now copies the blocks exactly as they were given.
One major concern here is that 'topo_sort' is not particularly stable. For example, given a history of a=>b=>c=>d and e=>f=>g=>h, it easily groups the contents as, h,a,b,c,d,e,f,g. Which is interleaving unrelated histories. This will actually cause transmission of the e-h group 2x, and cause effective 'bloat'. We can still tell 'get_record_stream' to remove some of this. Also, autopack still needs to be told to *not* re-use blocks.