HPCC-12665 Use a list to maintain a list of heaplets that may have space

* Add a doubly linked list of blocks to optimize removal

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>