Fix several POP3/IMAP proxy correctness defects:
- RETR returned an empty body because fetch_message kept only top-level
bytes from the imaplib FETCH response; extract the RFC822 literal from
the response tuple instead.
- DELE marks were wiped mid-session because STAT/LIST/UIDL refreshed the
mailbox and cleared the deleted set. Snapshot the UID list once at
authentication and keep the maildrop static for the session lifetime.
- RETR/TOP output now normalises line endings to CRLF, byte-stuffs lines
beginning with ".", and emits the terminating ".\r\n" per RFC 1939.
- STAT/LIST batch message sizes via a single threaded UID FETCH and the
IMAP client now uses a 30s socket timeout, keeping blocking work off the
event loop.
- Implement the POP3 TOP command (headers plus first n body lines).
Fixes#1Fixes#2Fixes#3Fixes#5Fixes#6
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>