Freelist no longer uses an 8 byte pointer internally.
-Freelist is now a template (Freelist<IndexSize>) that specifies how
many bytes to use for free list pointers. The pointers are now just
offsets from the start of the data.