Update to how often qthreads yields for sync var unlock

This moves the check to use the return value of qthreads_incr, which means we
get the previous value of lockers_out but we get rid of a race.

The previous code was something like if (lockers_out & 0xFF) then yield but you
want if ((lockers_out &0xFF) == 0) since the other way yields for all but the
one iteration. Finally, this bumps up the number of unlocks before yielding.
This is based on trials with test/domains/sungeun/assoc/stress.numthr.chpl .
No stack checks, and smaller stack for domains/sungeun/assoc/stress.numthr.chpl

For qthreads this test was running out of memory because there were too many
tasks existing at the same time. This was especially a problem with 8M stacks
so this lowers that to 128 and turns of guard pages to reduce memory usage and
because this test creates a lot of tasks. I believe this wasn't an issue for
fifo because there is a limited number of pthreads (and thus stacks) that can
exist, whereas qthreads imposes no such limit.