Removed try_lock/spin lock from lock_address

Replaced lock_address with get_lock_address and moved the
locking/unlocking functionality into _Table_Locker.  This prevents what
was basically a spin lock from occurring by unlocking the table before
locking the variable.