Mirror script logs to the terminal when run interactively (not from cron).
Add log_init() to backup_functions.sh: when stdout is a terminal (method 2, the
-t 1 tty test), start a background 'tail -F' that mirrors EVERYTHING written to
$LOGFILE (log() narrative AND command output) to the terminal in real time, with
an EXIT trap to reap the tail. When run from cron (no tty) it is a no-op, so cron
behavior is unchanged. This keeps $LOGFILE complete/synchronous for mail_log_file
and is safe inside command substitutions. log() reverted to file-only. Call
log_init in the maintenance scripts after LOGFILE is set; gate the end-of-run
'cat $LOGFILE' in upgrade.sh/edge_dump.sh on non-terminal. Multi-agent reviewed
(shortened the trap flush sleep to 0.3s).