Cleanup snapshot mr jobs

- Set BytesWritable capacity
- Do not recreate PrioritizedFactBytes
- Rename PrioritizedFactBytes to PriorityTag
- Change outputKey to BytesWritable mutating it for each key
Yep, we should pull it out somewhere. Given that the code is so unsafe it is kind of essential for us to remove all duplication and make it as easy as possible to read as possible if we want any chance of it working.

@raronson There seem to be a bit of a pattern here, "mutable struct", "block of code for initialising & mutating struct on each record". Might be worth thinking about a general pattern for all the jobs/structs to follow.