the goal of this function is to increasingly imbalance a tree,
by changing the topology, one move at a time. It does so by re-attaching
terminal branches to the root lineage, through the ltable. In effect, this
causes the tree to become increasingly caterpillarlike. When started with
a balanced tree, this allows for exploring the gradient between a fully
balanced tree, and a fully unbalanced tree.
Please note that the algorithm will try to increase imbalance, until a fully
caterpillar like tree is reached, which may occur before unbal_steps is
reached.
Three methods are available: "youngest", reattaches branches in order of age,
starting with the branch originating from the most recent branching event
and working itself through the tree. "Random" picks a random branch to
reattach. "Terminal" also picks a random branch, but only from terminal
branches (e.g. branches that don't have any daughter lineages, which is
maximized in a fully imbalanced tree).