R600/SI: Refactor local atomics.

Use patterns that will also match the immediate offset to
match the normal read / writes.
R600/SI: Fix backwards names for local atomic instructions.

The manual lists them as *_RTN_U32, not *_U32_RTN, which is more
consistent with how every other sized instruction is named.
R600/SI: Add instruction definitions for more LDS ops
R600/SI: Add other LDS atomic operations
R600/SI: Use LDS atomic inc / dec
R600/SI: Add 32-bit LDS atomic cmpxchg
R600/SI: Add instruction definitions for 64-bit LDS atomics
R600/SI: Add common 64-bit LDS atomics
Add gdb-remote P register write test.

Added test that attempts to write a value to each general
purpose register that is bit-flipped from the initial read
value.  It then reads it back to see if it takes.

Right now I just assert that at least one register bit flip
write succeeds.  I added a note that on the MacOSX x86_64
debugserver case, the only writes that succeed from the GPR
set are rax thru rdx, rdi, rsi and rbp.  The failures are E32
failure-at-write-attempt issues on the debugserver end.
I'll revisit this after implementing in the llgs linux-x86_64 branch.
The packet log looks good but I may have a subtle mistake in the code.