Fix a long-standing use-after-free in mainwin_actions_execute()
message_actions_execute() eventually calls summary_show()
to redisplay current folder in summaryview.
This causes a summary_clear(), which frees all MsgInfos
from the local linked list in mainwin_actions_execute().
This list is then used to restore summaryview selection, but
at this point, all its members point to already freed memory.
We solve this by increasing each MsgInfo's reference count,
so that they do not get freed, and we free them after we're
done with them.
Note: procmsg_msginfo_free() should probably be renamed to
procmsg_msginfo_unref()