scroll the message w/ keyboard on mbox focus
autoscroll when reaching viewport upper/lower edge
merge scroll-by-keyboard branches
distance dependent autoscrolling
IMAP: treat numbers as string when strings are expected

The old code would sometimes try to be too optimistic when parsing bits which
looked like numbers even though they were not actually numbers -- e.g. a flag
named "333x666" would get parsed as two flags, the "333" and "x666". I suspect
this is one of the reasons why hand-written parsers using this pattern are
considered evil.

The only place which actually benefited from this directly-to-numbers approach
was the THREAD parsing, which now got switched to extracting the numbers from
QByteArrays.

REVIEW: 117186
coding style: Always use curly braces on both branches of the if statement
Use qobject_cast when checking the return value via if
Merge branch 'messageview_fixes'

REVIEW: 117189
Ubuntu: adds an secure connection option selector to Imap Settings

User can select connection type from an expandable option selector,
which updates the imapPort text field to the standard connection port.

User can still override port value in imapPort text field

Also we have to use QT_TR_NOOP for marking strings in list model
elements for translation and call translate on them in the
selectorDelegate. QT_TR_NOOP apparently makes the strings visible to
Qt Linguist but doesn't actually translate anything.

REVIEW: 117212