GUI: PartWidgetFactory: deprecate the optionless helper
GUI: control text/plain vs. text/html preference via PartLoadingOptions

The work on the Kontact plugin requires a different way of accessing the user's
preferences because the QSettings's default constructor no longer works as
expected. Towards that end, Pali is working on having the QSettings access
abstracted away, and this patch makes it possible to avoid passing the
QSettings* around.

REVIEW: 112155
GUI: use a fallback MIME icon if the exact one cannot be found

This is even described in the QMimeType's docs -- not sure how come that I
missed this when implementing this the first time.

REVIEW: 112166
GUI: update mailbox contents whenever clicking through messages or mailboxes

The IMAP code is currently multiplexing a single connection among many
mailboxes. There are situations where a parallel action might switch away from
the "currently selected" mailbox, at least as shown in the UI, to some other
place. An example of such action is when the composer wants to make a message
with the \Answered flag.

Typically, the mailbox is automatically switched when the user opens a message --
either because of the request to have it marked as read, or because some of the
parts are not available form the cache. However, if the message being opened was
already cached and marked as read, no IMAP traffic was actually required, and
therefore there was no reason for issuing a SELECT, either.

This might or might not be the best fix -- from the user's point of view, it
makes a lot of sense to receive updates about mailbox state as often as
possible, and having the mailbox opened (with the usual IDLE or NOP polling) is
the usual way to go. On the other hand, this might result in slightly bigger
IMAP traffic, especially on servers which do not support CONDSTORE/QRESYNC.

The ideal fix for the future is to switch to multiple connections, but that
opens a whole new can of worms. In the meanwhile, let's just fulfil the naive
expectation that clicking on any message in a mailbox (or any mailbox, for that
matter) will at least refresh the current view.

REVIEW: 112158
SSL: change pinning to work on public keys, not the whole certificate chain

Previously, the code would compare the whole certificate chain (i.e. including
any CAs) and check not only the public key of each cert, but the certificate as
a whole.

This has a couple of interesting properties:
- The user would be prompted upon changing certs before they expire
- A change of CA would trigger a prompt to the user with varying level of scare

Arguably [1], what shall be pinned is just the Subject Public Key Info (SPKI)
block of the server's certificate.

Now that the code does not necessarily have access to the old cert chain, it
doesn't make sense to check for certificate soon to expire -- the idea is that
the public key does not change in these circumstances.

[1] http://tools.ietf.org/html/draft-ietf-websec-key-pinning-08#section-1

REVIEW: 112041
git: ignore various files related to LaTeX, RFCs etc