fair_scheduler: avoid comparing the list of the jobs with the size of the priority queue.

The ReduceJob in test_input was getting stuck in some scenarios. The problem
was that MergeReduceJob finished sooner and was put in the NotJobs list. The
priority queue only included the ReduceJob. Therefore, the length of the NotJobs
was equal to the size of the priority list and schedule would have returned
nojobs.

One workaround for this problem was to visit the the configure page of disco
which resulted into calling the schedule() function again and the job just
resumes.

In this commit we avoid comparing the size of the priority queue and the notjobs
list and thus resolve this problem. Instead we only return nojobs when we
exhaust the priority queue without finding a valid job.
Merge pull request #549 from pooya/jc_monitor

job_coordinator: terminate the job_coordinator if disco_server goes down
in the middle.