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 
This is a bit weird these flags now refer to the internal state of the PriorityTagDeserializer. Is there anyway we could move them closer together - perhaps re-arranging these so they pass the container through - or by making one of the types parametric so one can embed and delegate to the other? 

My main concern is it is really hard to understand that this date is talking about the contents of something which is going to be controlled and written out by something else. Seems it would be very easy for a refactor to result in this accidentally not be consulted and tombstones being written out.