factor out the pool allocation logic into its own thing
use the new memory pool API
exit non-zero on a valgrind error
add debug stats for memory pools
Use reference counted slabs to allocate memory
if you don't allocate your memory aligned then that reasoning is dangerously wrong
Merge branch 'memory_pools'