Correct key suffix growth: Don't refer to uninitialized data.
Don't track nksuf_, which is useless.
Remove key<>::ikeylen.

And change the value used for "has a suffix" keylenx.
Remove stringbag::equals_sloppy; call string_slice::equals_sloppy outside.

Cleaner. Also some const correctness.
Use key_bound directly, don't rewrite it.

Not much performance difference if any.
Whitespace.
Get rid of ::key_compare() function.

In favor of NODE.compare_key(KEY, POS). This is a little weird in terms
of argument order, should patch that.
Correct bug in a7f4bed9c: Use cursor's permutation.

Since the underlying permutation might change underneath us,
causing confusion.
This fence is no longer necessary.

Thanks to ecae1fa1f6d9828c1d4a89718fa580493e48f41a and related.
New ksuf_matches protocol in unlocked get.
More compact code for find_locked/find_insert.
Documentation nit
x