Just use one completion queue per server for delivering completions

This simplifies (drastically) the polling story, although will slightly
complicate mixing sync & async servers - but we're not there yet.
diff --git a/include/grpc++/server.h b/include/grpc++/server.h
index b02c413..daa3f0a 100644
--- a/include/grpc++/server.h
+++ b/include/grpc++/server.h
@@ -87,8 +87,7 @@
   void ScheduleCallback();
 
   // Completion queue.
-  std::unique_ptr<CompletionQueue> cq_sync_;
-  std::unique_ptr<CompletionQueue> cq_async_;
+  CompletionQueue cq_;
 
   // Sever status
   std::mutex mu_;
diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h
index 7733f8b..561bc9a 100644
--- a/include/grpc/grpc.h
+++ b/include/grpc/grpc.h
@@ -553,7 +553,6 @@
 grpc_call_error grpc_server_request_call(
     grpc_server *server, grpc_call **call, grpc_call_details *details,
     grpc_metadata_array *request_metadata,
-    grpc_completion_queue *cq_when_rpc_available,
     grpc_completion_queue *cq_bound_to_call, 
     void *tag_new);
 
@@ -564,7 +563,6 @@
     grpc_server *server, void *registered_method, grpc_call **call,
     gpr_timespec *deadline, grpc_metadata_array *request_metadata,
     grpc_byte_buffer **optional_payload,
-    grpc_completion_queue *cq_when_rpc_available,
     grpc_completion_queue *cq_bound_to_call, void *tag_new);
 
 /* Create a server */