Introduce SnapshotWritable for sorting by time/priority and remove PriorityTag

Part 3...

This, or something like it, makes it possible to do snapshot windowing. I hope this is the right idea, although I'm assuming there was probably a very good reason we didn't do the sorting previously.
> Why not BytesWritable, what does the structure buy?

Actually, strictly nothing. I started down the wrong road in the beginning, but then it also seemed easier to deal with the writable in this form anyway. But I'm happy to switch to `BytesWritable` if that's the preferred approach, assuming that the additional sort on datetime + priority that I'm proposing isn't going to cause any problems?

I started reverting/switching over, but ran out of time: 54ef198adb647ba69eb1ced8c37a58f53bbce3c4. I'm just sorting out (ha) the group comparator now (and then add a similar partitioner).