This stores the rank (size of the ancestor set of a revision, including itself)
in a changelog field and allows this property to be retrieved.
This new property is used as part of stable-range computations, which will be
introduced later on.
The value is computed in a naive way from the definition of the rank. This will
be replaced by a more efficient version subsequently.
Why is this called fast_rank? Are we expecting to have a (possibly slower) def rank somewhere down the line?