Builds a skeleton with the specified number of aggregator, dispatch, and leaf nodes.
The root node’s kind is determined automatically. If aggregator_count>0, the root is aggregator,
etc. Then we SUBTRACT 1 from that category’s count (so we don’t double‐count the root).
A random skeleton generator for “stress” tests. The BFS might only produce
1 or 2 levels, so it’s not guaranteed to have early leaves, etc.—that’s a random approach.