Description
As discussed in various places (slack, GitHub issues), we think that having a single ancestor with all the ancestral states onto which everything matches is potentially misleading, and certainly problematic for dating.
After discussion with @jeromekelleher, a reasonable compromise seems to be to take all the edges which reference this node, take the right and left coordinates and uniqueify them, then create a new root parent node within each interval. This will probably require cutting up some edges, but it is less extreme than creating a new root node for each tree. We can do this as the final part of outputting the tree sequence (we want to address #649 first, though).
Incidentally, we need not create a new node if in that interval the root node is entirely unary. But perhaps we would want to add a redundant node in this case for consistency?
Hopefully this will make the "ignore_oldest_root" option in tsdate redundant (tskit-dev/tsdate#138)