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.
I am a bit skeptical of this. Why not BytesWritable, what does the structure buy? There are a couple of concerns:
 - entity and featureId are potentially going to have to build a string which isn't used just generating garbage
 - it is going to be very fragile, everytime we change the format we are going to have to be in changing this as well