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.