Functional memory pool container

The functional memory pool container is both a memory pool handling allocation of fixed size 'elements' and a container type that arranges allocated elements in a linked list, exposing functional style primitives such as map and fold that operate over the container. Elements can be removed from the container and released back to the pool with a filter operation.

Allocation and deallocation from the pool are guaranteed constant time and map and fold are O(N).

No lookup operation is provided, groupby coming soon!