…e handling. Move temp message_id assignment into the ensure block.
Comparing a Message w/o message_id set to another object would set it's Message-ID to a temporary value. Ditto for the object compared to.
Before this change the code assumed you could concatenate two Base64 strings, which is not true. This fix relies on non-standard behaviour of our parser: RFC 2047 says that encoded-words MUST be separated by at least a space, but we happily parse two unseparated encoded-words. Fixes: #560 Fixes: #561 Broken-since: 2.5.4 (cb81621)