dspam: fixes for training dspam
dspam: fixes for training dspam

process_backticks now writes the entire message (headers + body) to a temp file and had dspam read that. Previously, dspam only read the body.  With the new "process, then train on error" method, dspam didn't have access to the DSPAM signature (in the headers).

replaced open2 with open3. Same results. Works part of the time, but not consistent, and I haven't been able to figure out why.

dspam transaction note is now a hashref (was a string)
parsing of dspam response via substring (was regexp)

smtpd/qpsmtpd,salvis/qpsmtpd,msimerson/qpsmtpd,sentinelleader/qpsmtpd-dev,sieutruc/qpsmtpd,priyadi/qpsmtpd,priyadi/qpsmtpd,priyadi/qpsmtpd,sentinelleader/qpsmtpd-dev,sieutruc/qpsmtpd,msimerson/qpsmtpd,smtpd/qpsmtpd,sieutruc/qpsmtpd,salvis/qpsmtpd