Ropes integration

Reroll for the integration of Ropes in the new API.

Now that the parent relation is gone in RopeNode, subropes may be shared, this simplifies the code and also improves the overall performance of the structure.

The names have been simplified too, I got tired of writing "ForwardDFSRopeCharIterator".
Je suis pas fan du typecase ; en plus un else abort manque pour le cas des sous-classes non gerees.

Une solution serait de generaliser le service `substrings` a tout les Strings et de courtcircuiter ici que le cas du FlatString