Add warn() to backup_functions.sh, distinct from die(), so email/SNS
notifications can distinguish a benign condition (ckp_running() finding the
ckp_running.txt semaphore already held by another in-flight run) from an
actual checkpoint/rotation/replay failure. warn() tags the subject WARNING
instead of ERROR!!!, sets structured-log status to warning instead of
failure, and -- unlike die() -- does not remove ckp_running.txt, since that
semaphore belongs to the other run and die()'s unconditional rm was
deleting it out from under it. Also includes the pending P4PORT addition to
die()'s error-context line (already on disk, not yet submitted). Updated
SDP_Guide.Unix.md to document both functions.