WIP: C11 atomics update
Merge request for C11 atomics version. Creating this early so ongoing reviewing/discussion/testing is easier.
Current version has implementations of the atomic functions we need with C11, however I've not tested them inside swift as various types need changing still.
It is based on Matthieu's previous C11 work, which has been rebased to current master, and also has Matthieu and Peter's atomic changes.