Add message parsing, refactor header parsing.

This moves things into the RFC 5322 parser as it's better equipped to
handle the oddities of folding whitespace.