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.
> This looks suspicious, why is only the first fact relevant?

Because of the descending datetime + ascending priority sorting. Is this not correct? It's certainly easier to sort descending datetime, but I was going to double-check with you that it's the right thing to do?