MessageViewer: use custom Akonadi::Session
Have MessageViewer use a custom Akonadi::Session instead of the shared default one. This way the MessageViewer will still be able to show message, even if the default session is currently busy. This addresses the issue when a long-running operations (like large moves) block the default session, so that user has to stare at the "Retrieving folder contents" screen until the operation finishes. This is not as good as a generic "session pool" solution, but that introduced various issues in behaviour and consumed more resources.
Showing with 81 additions and 22 deletions