Fix a race in QPS client shutdown

Previously we were cleaning up threads only AFTER local resources were
reclaimed, leading to many crashes.
diff --git a/test/cpp/qps/client_sync.cc b/test/cpp/qps/client_sync.cc
index aea5a0f..5dd64d0 100644
--- a/test/cpp/qps/client_sync.cc
+++ b/test/cpp/qps/client_sync.cc
@@ -105,6 +105,7 @@
     StartThreads(num_threads_);
   }
   ~SynchronousStreamingClient() {
+    EndThreads();
     if (stream_) {
       SimpleResponse response;
       stream_->WritesDone();