strip commandline string before interpretation

fix #643
Merge branch '0.3.5-fix-643'
helper: do not strip in string_sanitize

Stripping the string causes leading whitespace on the first line
of a message to be removed leading to weird indentation in thread
view for some html messages.

string_sanitize is also used for mail header parsing but I would
not expect them to contain undesired whitespace too often either.
explicit direction in PipeWalker

This allows to instanciate the walker as "reversed", i.e.,
makes the list grow from bottom up instead of top down.
smug focus_last in SearchBuffers

In case a search buffer displays more than 200 threads
and one calls `move last`, this will now result in a
new search with reversed search order displayed using a
reversed PipeWalker.

This makes it unnecessary to read all thread id's
when focussing the last element and thus speeds up the UI
considerably.
redraw the UI afer focus [last|first] commands

If one replaces some widget without letting urwid know,
one has to manually trigger it to redraw the screen.
We enforce this to happen after focus_first and focus_last
commands, which might replace widgets in search buffers.

For sake of performance this is *not* done after all other
focus movements.
db.utils: Use unicode for GPG error messages

This patch makes the use of unicode more consistent, and enforces the
UTF8 charset for the added payload in case of failure.
Merge branch '0.3.5-fix-gpg-error-encoding-647'
doc: polish theming docs

close issue #651
fix the documentation for tag/untag/retag commands in search mode
Merge branch '0.3.5-fix-stringsanitize-644'
Merge branch '0.3.5-feature-smug-G'
Check for "Re:" at start of subject in case insensitive manner

To avoid a subject ending up like:

    "Re: RE: RE: RE: original subject"

That I've seen a few times.

The fix is to lower case the subject and the strings to compare against
before calling startwith()
Merge pull request #660 from foobacca/case-insensitive-reply-prefix

Check for "Re:" at start of subject in case insensitive manner
On retagprompt, append a comma

So we don't have to remember to type the extra comma before typing a new
tag.
in retagprompt, sort the tags

So the tags are in a predictable order.
retagprompt: skip empty tags

(and so avoid having a leading comma)
Merge pull request #659 from foobacca/improve-retag

Improve retag
Fix missing space in error message
crypto: eliminate invalid keys for gpgme.ERR_AMBIGUOUS_NAME in get_key

Previously when Context.get_key raised gpgme.ERR_AMBIGUOUS_NAME crypto.get_key
would not verify the ambiguous keys are actually valid for
signing/encryption.

Now when gpgme.get_key raises ERR_AMBIGUOUS_NAME we elimitate those invalid
keys. If there is only one valid key left we return it, otherwise re-raise