server_new_qsize: new function to create server

Allow to set the size of the queue.
server_send: don't block if another thread is already blocked on sending
aggregator_numcomputes: function that returns total number of computes
relay: base internal_submission queue size on the aggregator computes

When we have many computations, we might drain the queue quickly, as the
expiry is going and the queue isn't read as quickly as we can generate
the computes.  Therefore allocate enough space to hold a large deal of
this data which is then buffered, instead of dropped.
collector: send stats about the internal submission server
collector_runner: avoid doing the same work many times