Switch from counters to command hashes

Use a combination of the command schedule and command string to compute a
stable unique command ID.

This improves the timestamp scheduling issues which could resulby by
re-ordering the crontab file.

Fixes duplicate schedules as a result.

Also fixes [ -x/-f/-r ] existence tests.