Expose script/cron user as param

Allow the user that the cron runs as to be changed from `root`. We need this
for our offsite backups, which don't need to run as root because the files
are already tarballed with permissions recorded inside.

---

Merging against our `postcommand-hook` branch because we also need that functionality and we added `version` and `archive_directory` params there. There's basically no hope of rebasing this against upstream.