Open
Description
In Index we have a _can_use_libjoin check that determined if we can use the libjoin fastpaths (AFAICT these are just fastpaths and the behavior is supposed to be identical to the non-fastpaths). There are a few cases where _can_use_libjoin is not strict enough and we end up making copies in order to use the fastpaths, which negates the benefits (havent actually done any measurements, just assuming). In particular MultiIndex and RangeIndex cases.
Patching can_use_libjoin to return False in MultiIndex and RangeIndex cases breaks a bunch of tests bc the join results cease to be ordered. Needs further investigation.