Adding lock elision

Still need elision buffers, etc. But it's a good start to get the logic
for cmpxchg down.