pie_core 0.2.0

A high-performance, index-based data structure toolkit. Provides an arena allocator (ElemPool) used to build a cache-friendly PieList (doubly-linked list) and FibHeap (priority queue).
Documentation
# To Do List for `pielist`

These are suggestions for improvements:

- Remove element/node by Index<T>/NodeHandle

- A drain method, similar to Vec::drain, would be a powerful addition. It would take a range and return an iterator that removes elements from the list, yielding their values and returning their nodes to the pool.

- While CursorMut::splice_before is the fundamental operation, higher-level convenience methods on PieList itself would improve ergonomics:
  - `append` Move all elements from the other list to the end of this list
  - `prepend` Move all elements from the other list to the front of this list

- pool.free_len(): Return the number of nodes currently in the free list.

- pool.reserve(additional): Ensure the pool has capacity for at least additional new nodes to avoid reallocations in a critical path.

- pool.shrink_to_fit(): An advanced (and potentially unsafe if indices are held) method to reclaim unused memory from the end of the pool's vector.

- Add more comparative tests against `index_list`