If multiple threads are simultaneously attempting to establish a new
lock order, it's possible that one thread is reading a pair of matrix
entries as another updates them, causing spurious mismatch warnings.
This change modifies isitmyx() to simply return false if a mismatch is
detected when the witness lock isn't held; it is then the caller's
responsibility to handle this possibility. Currently this can only
happen when witness_lock_order_check() is called, in which case we just
redo the lookup after taking the lock.