Other visual changes to attachments

REVIEW: 114188
IMAP: fix a bug when opening folders when offline after a STATUS arrived

By definition, the mailboxes are synchronized when they are opened. When all
whic his needed is just the number of e.g. unread/total messages, a lightweight
variant of syncing is performed through the STATUS command. The STATUS data are
displayed in the GUI, but they are not cached. Unfortunately, they also managed
to interfere with opening the mailbox from a locally cached copy when offline.

This change makes sure that the only "cache consistency check" which is
performed happens on top of the cached data, i.e. the UID mapping and the
synchronization state. What has in the meanwhile arrived via STATUS is
completely irrelevant and should not affect the synchronization process (we do
not even know whether some messages were deleted, so it is impossible to show
e.g. a couple (status_exists - old_exists) empty placeholder messages, etc).

I guess it's very handy that I travel on train every now and then :).

REVIEW: 114225
tree: do not try to insert -1 rows

Thanks to the KDE CI infrastructure for catching this -- it is a bug and Qt's
asserts guard against it.
build: enable warnings about signed-unsigned compare and fix one problem in tests

This is enabled on Qt5 by default, apparently, so it never hurts to have it
always active.
build: add options for -Werror to the CI

When cmake is run with -DDEV_FATAL_WARNINGS=ON, all warnings are turned into
errors. The idea is that Trojita compiles warning-free, and it shall remain so.

This is, however, *not* enabled for the end-user builds because experience of a
ton of other projects shows that sooner or later a compiler will come up with a
new, incompatible diagnostics which simply breaks everything.
Add missing credits to Benjamin Kaiser
travis: disable -Werror on clang and Qt4

Otherwise, the build fails with the following error message:

/usr/include/qt4/QtCore/qsharedpointer_impl.h:595:43: error: field 'd' is
      uninitialized when used here [-Werror,-Wuninitialized]
    inline QWeakPointer(X *ptr) : d(ptr ? d->getAndRef(ptr) : 0), value(ptr)
                                          ^