IMAP: make GMail happy when invoking ESEARCH

There's currently a bug in GMail's implementation of the ESEARCH command where
they don't correctly handle the SEARCH command with an empty return
specification ("RETURN ()") which the RFC mandates to be equivalent to "RETURN
(ALL)".

I've already reported that to Google and Brandon has promised a fix. Our users
can also add ESEARCH to the blacklisted capabilities in order to make it work,
but this is far from being easily discoverable. Let's waste these three bytes
until GMail rolls out a release with a proper fix -- this is a major
interoperability issue which prevents even basic mailbox resynchronization, so
it's worth the effort IMHO.
GUI: open the target message after pressing PgUp/PgDown/Home/End as well

Previsouly, only the up and down keys would trigger that. However, at least for
me it was rather counterintuitive having to press Enter after pressing End, so
let's give this a try.
cleanup: better names and minor tweaks
Move related code together
Suggest a proper filename when saving complete messages into an .eml file
Merge branch 'saving-full-messages'

fixes #543
Coding style
ShortcutHandler: remove unused method which is broken with Qt 4.6

QIcon::name was only added in Qt/4.7. Given that this method was not used by
Trojita at all, removing it is a bit cleaner than adding empty QString (and
therefore possibly breaking icons later on?) on ancient Qt.

CCMAIL: glad.deschrijver@gmail.com
IMAP: Better error reporting
IMAP: accept NIL when looking for unsigned ints

Thanks to Ashley Penney <apenney@gmail.com> (ashp on IRC) for reporting.

This is apparently required for broken IMAP servers like the "davmail" gateway
to Exchange(tm). Getting NIL is roughly as bad as -1 or -2 which we already
handle, so there's no reason for complaying so loudly in this case.
SVN_SILENT made messages (.desktop file)
Try to fix a build failure on Mac

Users have reported that the build fails on Mac because it tries to reference
Qt's private headers. This fix might (or might not) fix the problem; it's hard
to tell because I don't have access to that platform.

Reported by guruz^mgoetz, bartel and pepijndevos on IRC.
Merge remote-tracking branch 'kde/master'
Merge branch 'master', remote-tracking branch 'upstream/master'