Malloc implementation with explicit free list