Shortcut the case when one revision is in the ancestry of the other.
At the cost of a heads() check, when one parent supersedes, we don't have to extract the text for the other. Changes merge time from 3m37s => 3m21s. Using a CachingParentsProvider would drop the time down to 3m11s.