Emit stable unit IDs for persistent jobs

Persistent job IDs are generated as a hash(schedule, command), so that
re-ordering of the command sequence (either in crontabs or due to filename
change) or a change in schedule with identical behavior doesn't clash on a
previously-existing unit ID.