Improved display of plain text messages and text to HTML conversion (#1488937)

Now instead of <pre> we use <div class="pre"> styled with monospace
font. We replace whitespace characters with non-breaking spaces where
needed. I.e. plain text is always unwrappable, until it uses format=flowed,
in such a case only flowed paragraphs are wrappable.

Also conversion of text to HTML in compose editor was modified in the same way.
Rephrase editor warning to better match both ways text2html and html2text
Improve _convert_line() performance
Fix flowed lines recognition
Disable wrapping non-flowed lines on dash character
Fix invalid closing tag
Merge branch 'dev-text2html' of github.com:roundcube/roundcubemail into dev-text2html
Bring back the old behaviour where text messages without format=flowed are auto-wrapped.
Make it the default in text2html class.
Improved handling of new-lines in quoted paragraphs on text2html conversion
Merge branch 'dev-text2html'

Conflicts:
	program/js/app.js

Fix handling magic_quotes in rcube_text2html and rcube_html2text - move
stripslashes from these classes to action files
Update changelog
Don't remove links when html signature is converted to text (#1489621)
Fix so when switching editor mode original version of signature is used (#1488849)
Define common styles for search boxes
Fix incorrect handling of HTML comments in messages sanitization code (#1489904)
Fix wrong set-listmode command (button) status set by getunread request
Fix so current page is reset on list-mode change (#1489907)
Limit cache data size to avoid database errors
Don't list empty (nil) metadata entries to save memory anc caching space
If search string cannot be converted to ASCII (result is an empty string) use the original string (#1489911)
Fix message un-selection on the list (#1489906)