Whitelist user_code_suspension_lock_ for ConditionVariable wait

ConditionVariable::Wait checks to make sure the current lock status is
sane. We need to whitelist the user_code_suspension_lock_ for being
held through the wait when it is a threads resume_cond_ since this
lock needs to be held through the entirety of user-code suspension.

We also add a check to make sure the thread will not deadlock.

Bug: 63813338
Test: stress --cpu 64 & \
      while ./test/run-test --host --jit 1904; do; done

Change-Id: I24577b66629279106de328aad1afd191725c94fb
1 file changed