Do not process a message if it is an Out of Office response
Extract FactCheckEmail to hide Out of Office checking implementation
Should be comparing based on the to_s value
Add email header tests that allow state progression.

Factor out duplicate code.
Use correct boolean || operator
Add 'auto-generated' as a value to check for out of office replies
Add check for Return-Path header.

Since Return-Path is blank for Out of Office replies (checking factcheck
mail responses), this would be indistinguishable from the field not being
present if just using `mail[header].to_s`.

As well as checking the value of the header, I've added a check that
the header key returns a Mail::Field too. If the header is not present
NilClass is returned.
Unnecessary use of map then any?
Merge pull request #192 from alphagov/out-of-office-does-not-trigger-fact-check-received

Out of office does not trigger fact check received