fixup! Introduce SnapshotWritable for sorting by time/priority and remove PriorityTag

- Make ByteWriter stateless
fixup! Introduce SnapshotWritable for sorting by time/priority and remove PriorityTag

- Un-reverse sort priority as this will make windowing easier
Override NamespacedThriftFactDerived.isTombstone for performance
Use repo.snapshot in PrintFactsSpec
Add byConcrete combinator in Dictionary
Add Mutator
Introduce SnapshotPartitions
Support snapshot windows
fixup! Support snapshot windows
fixup! fixup! Support snapshot windows

- Fix the logic for reduceWindow to support priority sorting
fixup! Add Mutator

- Pass MutableFact to MutableStream instead of returning a value
fixup! Support snapshot windows

- Fix use of MutableStream.from
fixup! Support snapshot windows

- Use a single reduce function for Snapshot and handle both cases
fixup! Support snapshot windows

- Convert WindowLookup to Array[Int] for max performance