Extract a few Priority-based helpers around MR jobs

Not sure how controversial these changes will be. It may be a little hard to see how I'm going to use these in rename until I create the PR later today. Let me know if you need to see it now.

/cc @etorreborre @markhibberd @raronson 
As far as I am aware these clear() calls do nothing. Anyone know why there are calls to `clear` and then `deserialize` because it would be nice to get rid of them.