--sleep only when --ddns, and sleep before doing anything

because launch likes to run a bit early, and because it seems to be
unhappy when scripts end in under 10 seconds whether or not there's an
error.