- client: don't make empty work-request RPCs. It's reported that the client can repeatedly make work request RPCs that don't request work for any resource. I'm not sure why this happens, but prevent it.
- client: fix work-fetch bug that can cause idle GPUs when use exclusions. Round-robin simulation, among other things, creates a bitmap "sim_excluded_instances" of instances that are idle because of CPU exclusions. There was a problem in how this was computed; in the situation where there are fewer jobs than GPU instances it could fail to set any bits, so no work fetch would happen. My solution is a bit of a kludge, but should work in most cases. The long-term solution is to treat GPU instances separately, eliminating the need for GPU exclusions.