Replace naked Read-Modify-Write ops on shared values which will be banned.

See also:
https://github.com/D-Programming-Language/dmd/pull/3070

The mixin workaround is something we'll have to document. Because these are template constraints any user-libraries that use a similar approach to core.atomic will end up not instantiating and would typically make the user wonder what went wrong after a compiler update. So we'll have to add a note for this to the changelog (for 2.066 I guess), and add this workaround code in the docs as an example.