A tip, checkout or committed pin that has diverged from the pin gets its
own lane, which joins the main lane at a "base" node: the merge base of
the two, with its SHA and subject. Only one diverged commit is drawn as a
fork; with two, or without a merge base, the nodes stay in a line with
the "diverged" gap.
Add Status.Bases, filled by the git provider with `merge-base` for each
diverged commit.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>