Add priority level to jobs

This is probably a filthy abuse of this scheduler... but if you do have low (or high) priority tasks on a sometimes loaded cluster, this works fairly well. The key word here is *sometimes*, because higher priority jobs will starve lower priority jobs.

Priority levels are like nice levels on *nix. -1 is high priority, 0 is normal, and 1 is low priority. (Only 3 hardcoded levels for now, not the usual -20 to +20. We aren't doing thread scheduling here, we are doing much coarser scheduling.)