Check for duplicates in mail map
* src/mail.cpp (Mail::set_uuid): Check for duplicates in mail map and handle them.
Sometimes we have the troubling state that multiple
item load events occur for the same mail,
as identified by uuid. This is bad but now at least
we have some handling and report it as an error
otherwise it could lead to cases where a parser
returned for a wrong mail
According to documentation this should not
happen as this means that multiple ItemLoad
events occured for the same mailobject without
unload / destruction of the mail.
But it happens. If you invalidate the UI
in the selection change event Outlook loads a
new mailobject for the mail. Might happen in
other surprising cases. We replace in that
case as experiments have shown that the last
mailobject is the one that is visible.