Atomic replace and cron

This is a patch for the cron module to make it work in situations where /root or /tmp is not on the same fs as /etc

this also fixes up the atomic_replace method to behave slightly better for files across filesystem mounts.

The atomic_replace method change should have testing focused on it heavily to verify I didn't break it all horribly.