Switch to byte-by-byte copy because casting away volatile is undefined behavior.

Change-Id: I0881cc3db4e23cdde38149d4ab502a5fedfc86db
Merge pull request #139 from awong-dev/support-gcc47-atomics

Switch to byte-by-byte copy because casting away volatile is undefined b...