Replace spinwait in syncvar unlock with qthread_yield

Testing out the correctness/performance implications of this. This makes sense
because if a qthread is just spinning while waiting on a sync var, we really
want them to yield, and let somebody else do some work.

I believe if we used real qthread sync vars we wouldn't need to do this, but
the yield in the unlock would still be needed.

It might also make sense to only do this every x iterations of the loop, but
that means adding a counter to that, which might not be worth it.
Merge pull request #189 from ronawho/qthreads-syncvar-deadlock

Replace spinwait in syncvar unlock with qthread_yield

[idea ok'd / from @gbtitus]

Testing out the performance implications of this. This makes sense
because if a qthread is just spinning while waiting on a sync var, we really
want them to yield, and let somebody else do some work.

I believe if we used real qthread sync vars we wouldn't need to do this, but
the yield in the unlock would still be needed.

It might also make sense to only do this every x iterations of the loop, but
that means adding a counter to that, which might not be worth it. We'll see