IMAP: do not doubly-encode backslashes when sending mailbox names

I've noticed this in an unrelated bugreport (thanks to Nicolas Sirolli
<nmsirolli@gmail.com> in bug 320828).

The encodeImapFolderName shall only convert the Unicode data into a proper
modified-utf-7 thing, not escape the backslashes. This escaping is done by the
Parser when queueing commands. Looks like this bug must have been around for
ages, literally.

CCBUG: 320828
Remove functions and tests which are not used anymore
IMAP: remove cached threading information and UID mapping when the UIDVALIDITY etc changes

Previously, the code would remove various pieces of information from the cache,
but the threading information would inadvertently persist. Thanks to ronny_ on
IRC for his bug report.

REVIEW: 110913
Cleanup: DRY when sanitizing the mailbox names before passing them to the SQL layer

This massaging is still needed due to qsqlite translating a null QString into
NIL; by now, this requirement is documented and its use is made consistent.

Thanks to ronny_ for pointing out that the old way was very ugly.

REVIEW: 110921
Refactoring
IMAP: speed up the search processing when filtering messages

The old algorithm was rather dumb -- finding a first element of a QHash is not
O(1), but O(n), leading to quadratic time complexity, and the excess memory
traffic doesn't help either. On my laptop, this change changes cuts runtime of
the newly added test to ~280ms from the original 15+ seconds.

REVIEW: 110925
qmake: re-enable building of be.contacts

I wonder why this wasn't getting build in the first place -- perhaps some
screwup when splitting to use static libraries earlier when merging the abook
editor?
Merge branch 'fix-backslashes-in-mailbox-names'

REVIEW: 110912
Merge branch 'fix-threading-on-uidvalidity-change'
Merge branch 'qmake-fix-be.contacts'

REVIEW: 110976
Cleanup: make the code clearer

Signed-off-by: Jan Kundrát <jkt@flaska.net>
Imap: toString(const FlagOperation op) implemented to eliminate code duplication

Signed-off-by: Jan Kundrát <jkt@flaska.net>
Make it possible to mark mailboxes as read in a single operation

fixes #606
REVIEW: 110742

Signed-off-by: Jan Kundrát <jkt@flaska.net>
Merge branch 'mark-folder-read'