Clean code in cmstestsuite

Move definition of check functions outside the start_* functions. Also,
for web servers, check that both the RPC and the HTTP servers are up.
Fix tests

This code was failing since we moved ScoringService among the
contest-agnostic services. On the other hand, ProxyService needs to be
restarted.
Avoid an infinite loop which could jam ProxyService

If an operation with an empty dictionary of entities to create/update
was added to the queue, data[i] could become empty with task_count[i]
still being positive. Therefore no data would have ever been sent (and
thus task_count would have never been reset to zero) but the loop would
also have never yielded to other greenlets, making ProxyService stuck
(and taking up 100% of the CPU).
Remove useless code from ProxyService

We used a joinable queue and we had an additional second structure to
keep track of how many task we had done. Since they were not necessary,
this commit removes them altogether.