Move everything to the memory pool

2% speed increase, and a small decrease in wasted RAM.

The RAM saved by this commit is low since the prefixes, suffixes,
and needle structs were allocated in batches, vs individual needles,
which were one-by-one.