Implementing the full index logic in one go is journey larger than we would
like.
To achieve a smoother transition, we start with a simple Rust wrapper that delegates
allwork to the current C implementation. Once we will have a fully working index
object in Rust, we can easily start using more and more Rust Code with it.
The object in this patch is functional and tested. However, multiple of the
currently existing rust (in the hg-cpython crate) requires a Graph. Right
now we build this Graph (as cindex::Index) using the C index passed as
a PyObject. They will have to be updated to be made compatible.
ancestor should probably be revlog here. I can fix in flight.