I was missing data in the pthread test because I was yielding

It helps to have working tests before debugging nonworking code.

I was failing on a write, and instead of retrying after the yield()
I just went on to the next loop index.

Now along the way I fiddled with a bunch of other atomic stuff.
We can back it out after writing some even more intense tests.
some more atomic stuff probably overkill

need way more intense tests in order to hit a race.