Introducing MM subtypes + some void task clean up
This MR introduces a progeny and direct subtype for grav_mm
tasks to avoid the dangerous -2
flag that was previously used. In addition it:
- Adds a skip to avoid erroneously making pair tasks for top level zoom cells with 0 gravity particles (rare but possible).
- Cleaner logic for reusing a task during splitting.
- Moves pair task cell types print to when running with debugging checks (it loops over all tasks so not worth wasting time on normally).
- Added a MM pair type breakdown (also only when running with debugging checks).
- Minimal tidy up to zoom -> void task linking logic.
In draft until !2026 (merged) is merged.