client should return a Tankard::Client object in all instances now.

In the previous version if another thread set @client to nil after the cas but before the value is retrieved client would return nil.
The loop is unbounded so under heavy contention the loop might run for a while.  To currently get into that case you would need to keep reconfiguring tankard.