#84 Remove the need to allocate list items for freed nodes

Keep freed nodes in an array instead of a list.  Given that we're frequently in the position where practically all items are on the free list, allocating a fixed size array is fine.