This allows a single widget to get constructed to handle email actions,
rather than every single ConversationEmail having to do so, and thus
related signals can also be moved to and emitted from
ConversationListBox, so that MainWindow only has to hook up to a single
object's signals for a conversation, not every email in the
conversation.
Create new Application.AttachmentManager class and move code for saving
attachments there from both Application.Controller and MainWindow since
aside from needing the latter for dialogs it is independent of both.
Create new Components.AttachmentPane widget for diplaying attachents
for an email in the ConversationViewer.
Update ConversationEmail and ConversationMessage to use these two new
classes directly, rather than implementing save management itself or
requiring the MainWindow to wire up signals on these classes.
Using "msg" for the ConversationMessage context menu action namespace
stopped ConversationEmail's actions being found, so use "eml" instead.
* src/client/conversation-viewer/conversation-email.vala
(ConversationEmail::ConversationEmail): Use a the "eml" namespace for
email actions to avoid namespace collision.
* ui/conversation-email-menus.ui: Chase namespace change.