Add real comments to yields in qthreads sync var lock and unlock

These were added to resolve deadlock that cropped up when we switched to the
nemesis scheduler. I never commented them properly because we weren't sure it
was the final solution or if the values were good. Things seem to be in good
shape some I'm adding extensive comments.
> I used to agree with you that "if the task that will ultimately grant us access is on the same worker then we have
> yield or we'll deadlock" but I'm not so sure anymore (though I believe you over me on this, so probably just need
> some convincing)

Your hand-written code in that block is one example that would lead to trouble. I could see the potential for more or less that exact code appearing in the modules stuff that implements syncs. Unless there's a rule that prevents yielding while holding the lock for a sync or single, that is. Maybe Sung knows?