Make entire protocol path inside aismapd bytes
We now read email messages as bytes into an EmailMessage.
Our entire protocol path and parsing is all strings. We generate the messages into strings and this has a number of issues with a bunch of email weirdly encoded, or failing to decode at all in the IMAP clients.
So we should move the entire IMAP protocol processing internally to bytes, especially the generator for the email messages.
The protocol itself is all bytes. We may do some generation of IMAP messages as strings because that might be easier, but generally we should parse the message as bytes, and the FETCH path should be entirely in bytes so our generator will not have to do any sort of dance between a message-from-bytes EmailMessage to the data we generate when sending the message to the client. Hopefully this will fix some broken email messages in the IMAP Clients.