notmuch: fix corrupt viewing of messages

The mutt records offset of email body when parse email header.

Unfortunately when we check notmuch DB changes when we don't ask for
email path in the same way. So it's possible that for emails that are
stored in multiple folders (you sent the same email with the same ID
to multiple mailing lists) we get a different path, then notmuch mutt
code updates the path, but no the offset... result is corrupted body.

Signed-off-by: Karel Zak <kzak@redhat.com>
ported the old index-color mutt patch to mutt-kz
added support for individual tag coloring
added "Tags:" header output in pager showing all tags
added documentation for index object highlighting
ported nested if-else conditional patch to mutt-kz (credit to David Champion <dgc>)
ported date conditional patch to mutt-kz (credit to Aaron Schrab <ats>)
changed date conditional comparisons
now d = yesterday, w = last week, m = last month, y = last year, H = last hour, etc from current time
added some documentation
fixed right alignment on the index line
the printed string width computation did not account for special index coloring sequences
notmuch: clean up tags related code, improve %G

 - clean up code
 - allows to use %G (and transform-tags) for unhidden tags too

Signed-off-by: Karel Zak <kzak@redhat.com>
color: fix compilation without notmuch

Signed-off-by: Karel Zak <kzak@redhat.com>
color: fix order of index

Signed-off-by: Karel Zak <kzak@redhat.com>
notmuch: add nm_exclude_tags

Based on patch from: Raghavendra D Prabhu <rprabhu@wnohang.net>

 This makes use of notmuch_query_add_tag_exclude in notmuch API, to
 exclude messages tagged with tags from nm_exclude_tags from  query
 results by default unless specified explicitly.

Signed-off-by: Raghavendra D Prabhu <rprabhu@wnohang.net>
Signed-off-by: Karel Zak <kzak@redhat.com>
fix typos in comments
fix more comment typos
Consistently use mutt_buffer_init function

Despite the existence of the mutt_buffer_init function, most
initializations were instead done with memset.  Use the specific
function instead to make it easier if later changes are made to how the
initialization should be done.
Ensure that BUFFER variables are initialized to prevent later attempts to traverse an uninitialized pointer.
Fix segfault when viewing text attachments in compose menu. (closes #3644)

The segfault was introduced in changeset b9f9e3147eb4.  Since decoding
and charset conversion aren't needed for attachments when composing a
message, this patch reverts to just using mutt_save_attachment() to view
"raw data" for text attachments in the compose/send case.

This patch is based on Michael Elkins' patch at
http://dev.mutt.org/trac/attachment/ticket/3644/view_attach_compose_segfault
with just a missing return value check added.
include <stdbool.h> for definition 'true'

closes #3642
Problems with mutt.1:

Ambiguous or invalid backslash.  This doesn't cause groff a problem.
but it confuses doclifter and may confuse older troff implementations.

Spelling error or typo.
Problems with muttrc.5:

Ambiguous or invalid backslash.  This doesn't cause groff a problem.
but it confuses doclifter and may confuse older troff implementations.

Unknown or invalid macro.  That is, one that does not fit in the
macro set that the man page seems to be using.  This is a serious
error; it often means part of your text is being lost or rendered
incorrectly.

Use local definitions of .EX/.EE or .DS/.DE to avoid low-level troff
requests in the page body.  There are plans to add these to groff man;
in the interim, this patch adds a compatible definition to your page.
adds some missing options in doc and adds man pages for binaries pgpewrap and pgpring.

closes #3643
add missing files that were supposed to be included with [76f8df0ac80396559aa80e7f145be6f235a6db51]
updated Japanese translation