Refactor: Prefer node_type::compare_key to generic key_compare.
Add unlocked_tcursor::compare_key, making copies of ksearch functions redundant.
Key search functions return an index/position combination.
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.
Whitespace.
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
Merged changes from upstream and fixed TSX semantics