Replace the regex-based RFC 822 date parser

It is now procedural code that also handles dates with swapped days
and months (meaning it replaces the "grubby" RFC 822 parser, too).