Ensure up-to-date snapshot is taken with the latest dictionary

This started as something else, putting the check in `SquashJob.squashFromSnapshotWith`, but slowly moved up to where it is. I _think_ making the dictionary check in `SnapshotManifest` (or at least `Snapshots`) makes more sense.
Let me know if either of these are just duplicates of something already in scalaz.