ancestor.deepest: sort revs in C version

This isn't strictly necessary, but it makes the code more consistent with the
Python version.

--HG--
branch : stable
ancestor.deepest: decrement ninteresting correctly (issue3984)

The invariant this code tries to hold is that ninteresting is the number of
non-zero elements in the interesting array. interesting[nsp] is incremented at
the same time as interesting[sp] is decremented. So if interesting[nsp] was
previously 0, ninteresting shouldn't be decremented.

--HG--
branch : stable
ancestor.deepest: ignore ninteresting while building result (issue3984)

ninteresting indicates the number of non-zero elements in the interesting
array, not the number of elements in the final list. Since elements in
interesting can stand for more than one gca, limiting the number of results to
ninteresting is an error.

Tests for issue3984 are included.

--HG--
branch : stable