Run syncs in a sequence

Chain dependent syncs into a sequence so they run in order, with per-sync rules for when a failure should stop the rest.