Generalize plan snapshot

Im not 100% happy with `SnapshotPlannerSpec` so any suggestions to make it better would be much appreciated.
It will require changes to `ImportWorkflow` to support the new `Identifier` format. Was thinking we could do that in a separate PR.