Queue scrubber

The "scrubber" uses the existing queue processing code, with a single difference, the mail is not attempted if we set the scrub param. Supporting script has a confirm step to prevent accidental scrubbing.

This PR also includes updated logging code to dump the caller info and return a unique ID (PID, epoch time, instance counter) which we can send back to users as a reference to the log entry.

The plan for this is to make greater use of error logging where we currently throw backtraces at the user. Instead we can throw the trace into the log and the log ID at the user - they can report that if they wish.