Added the ClientThreadsRespecter sync primitive.

minor thing: it's not a good idea to rely on timings in tests. once you run them more or less often, they'll start to fail