stablerange: move 'depth' inside a new 'stablerange' module
The stablerange used for discovery requires significant amount of code. There is
algorithme, cache, cache persistence, etc. So we create a dedicated module for
it.
The function is directly moved into a rich class handling cache (for now in
memory) because we know we will need it.