Cleanup snapshot mr jobs

- Set BytesWritable capacity
- Do not recreate PrioritizedFactBytes
- Rename PrioritizedFactBytes to PriorityTag
- Change outputKey to BytesWritable mutating it for each key
@charleso i just remembered why i was using `foreach`. In the loop im calling `writeWith` to access the state inside the `MutableState` object, which doesn't return anything. So im depending on each assertion to throw an exception if it fails, and `ThrownExpectations` to catch it.