Tests: move test bodystructures to a common header file

This is done so that we can use the bodystructures in other tests too
Tests: Added unit tests for Imap::Network::MsgPartNetAccessManager
Do not use TreeItems in PartWidgetFactory

The TreeItem class is an implementation detail of the ImapModel and should not
be used outside the ImapModel.

REVIEW: 118228
Gui: hide portWarning, passwordWarning and passwordPluginStatus when not using smtp

REVIEW: 118531
Ubuntu:Add Click pkg manifests and change cmake to build click pkgs

Adds a new option UBUNTU_CLICK_MODE for use when either running
trojita on device from QtCreator or building click packages.
This option installs trojita to a contained location

REVIEW: 118429
Ubuntu: modify TrojitaVersion to configure version in manifest.json

Adds an UBUNTU_CLICK_MODE option to TrojitaVersion.cmake which if true
will configure manifest.json on each build

REVIEW: 118429
Ubuntu: Remove QCommandLineParser options from src/Ubuntu/main.cpp

For some reason UbuntuTouch/Unity8 require --desktop_file_hint
and --stage_hint to be passed when launching an app. Which
the commandline parser was blocking these args. Since the
commandline options were only really just setting the size of
the qquickview we can safely just remove it and stick to a fixed
size window.

Removed associated context properties from main.qml

REVIEW: 118429
Ubuntu: Modify main.cpp to find main.qml in click package

With click packages the qml dir does not fall under a 'standard'
location. So it first looks for trojita.json in the root of the click
package, once that's found we can then descend to main.qml from
there.

REVIEW: 118429
Fix QT_NO_CAST_{FROM,TO}_ASCII in libCommon
Remove unused function which is wrong anyway
Fix strings vs. byte arrays in SMTP submission
Distinguish between a string and the byte array
Fix forgotten QObject::tr()
Add missing QObject::tr() call for localization
Fix QT_NO_CAST_{FROM,TO}_ASCII in libMSA
tests: Request message metadata before we attempt to attach any part in composer

This will be used in a later commit when the code attaches a complete message.
Add tests for attaching complete messages, not just message parts

The biggest reason for this is to make sure that I do not break the CATENATE
URLs when I fix the QT_NO_CAST_FROM_ASCII thing in the next commit.
Composer: simplify the way headers are generated

Using QByteArray::append wasn't a terribly good idea in the first place. I
wonder why I did it so back then. Well:

    commit 30b527c68e5bdb192e91e6a43f847209a0f4c675
    Author: Jan Kundrát <jkt@gentoo.org>
    Date:   Wed May 6 02:03:15 2009 +0200

        wip: this sent the very first message :)

I believe that that explains a lot.
Fix QT_NO_CAST_{FROM,TO}_ASCII in libUiUtils
Fix QT_NO_CAST_{FROM,TO}_ASCII in libComposer