Made reader- and writer-specific spinlock variables, since put() and get() never write to the same location.
Made reader- and writer-specific spinlock variables, since put() and get() never write to the same location.

The spinlocks serve as a turnstile for threads of the same kind.
Regulation between put() and get() threads is done by the semaphores.

glessard/swift-channels,glessard/swift-channels