Added perimeter-based metrics to the heuristic
Converted Type from an Enum to a normal class
Added a FixedHeap class, which is used by the foldLimited() model as a fixed-length heap to conserve memory.
The FixedHeap class strategically adds "overflow" elements, replacing the leaf nodes (last half of the heap) in consecutive order.