spf: store results in notes

store SPF helo checks in connection.notes.spf
store SPF mfrom in connection.transaction.notes.spf

refactored. consolidated duplicate switch/case into one function
consolidated duplicate header storing into a function
consolidated duplicate logging codes into a function
dmarc: new DMARC plugin

uses dmarc_httpd from Mail::DMARC for processing and reporting
SPF: only store SPF mailfrom in transaction note

(removed fallback connection note storage)
connection.js: save A-R header after data_post

so DKIM and DMARC plugins get a chance to update it
spf: store SPF results in ResultStore (was notes)
dmarc: save results in 'results' (was in a note)