Fix handling of attached messages.

The code for handling attachments was written as if CTMIME_SinglePart
instances were the only ones that could be attachments.  This is
not the case, since attached messages will be CTMIME_MessagePart instances,
but otherwise should be treated as normal attachments.

Fix this by moving fetchPartWithProgress, fetchPart, and the associated
fields down from CTMIME_SinglePart into CTMIME, where it can be shared by
all CTMIME subclasses.  CTBareAttachment.part then becomes a CTMIME instance
also, with the filename set from the subject of the email, and
CTCoreMessage.attachments changes to recognize CTMIME_MessagePart as valid
attachments.