Better Message-ID and Message-ID list parsing

Discovered some messages that were not being incorporated into their
conversations properly due to their Message-IDs not being bracketed.
This change makes the parsing a bit more liberal when parsing but
stricter when stored in memory to ensure that hash() and equal_to()
work every time.
Support multiple Message-IDs with In-Reply-To

Prior RFC822 code treated In-Reply-To as only capable of listing a
single Message-ID parent.  The spec does allow for multiple parent
messages, so this change reflects that.

This potentially can also fix bugs where messages were not included
in conversations, but this would be an edge case, as that would
require the MUA not listing the In-Reply-To Message-IDs in the
References list, which Geary does properly parse.