Changed heap_extend so that it only requests just enough for the last block.
This behavior is better for realloc, but also for malloc.