Add a test of non-blocking API behavior

... also fix things that were broken :)
diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c
index 644b072..e6ff04e 100644
--- a/src/core/surface/completion_queue.c
+++ b/src/core/surface/completion_queue.c
@@ -237,6 +237,7 @@
   grpc_cq_completion *c;
   grpc_cq_completion *prev;
   grpc_pollset_worker worker;
+  gpr_timespec now;
   int first_loop = 1;
 
   deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC);