- Previously, it relied on allocating space behind an actual TREE and
then later accessing it via pointer arirthmetic. Now we have an actual
array as a member of the TREE. TREE is now also a template, templated
over the size of the array (which coincides with the pilecount of each
Solver)
- Alignment is now handled in the allocator, instead of ensuring that
every MemoryManager allocation preserves the alignment
- more typesafety in the allocation functions