add the 'per_job_poll_interval' option to monitor.conf. This specifies the
minimum interval between successive polls of the same job, to avoid the race
condition we've seen in testing.

In Monitor.pm, re-work the polling routine to be clearer and more correct.
Also get rid of a bunch of dead code.