r600: Improve compute memory pool performance; reduce fragmentation.
The compute memory pool forced a defragmentation (a left-packing relocation) of items prior to promoting (adding) items to the tail end of the pool.
This patch instead makes an initial pass over the fragmented pool intent on promoting items back to where they may have been recently demoted, filling in the gaps first before conducting the defragmentation (if at all).