Closes the client and blocks until its threads have stopped, or timeout passes. Returns whether they stopped in time.