test: resolve `basename "$0" .sh` once for all in test-lib.sh

test-lib.sh sometimes did equivalent of `basename "$0" .sh`, sometimes
skipping the basename part and sometimes .sh part. This worked as
we never had path components in $0 (more than ./) nor .sh ending.

Now the equivalent of `basename "$0" .sh` is done once and used
everywhere. In the future we may have .sh suffix in test names
-- removing those is a good idea.
test: print empty line at the beginning of test script, not at end

In preparation for quiet mode print empty line before writing the
test description. This is done now in function designed for it --
it will also be called when test fails.
test: implement and document NOTMUCH_TEST_QUIET variable usage

When NOTMUCH_TEST_QUIET environment variable is set to non-null value
messages when new test script starts and when test PASSes are disabled.
This eases picking the cases when tests FAIL (as those are still printed).
emacs: add '?' to some prefix keymaps to describe its bindings

Added function notmuch-subkeymap-help to describe keybindings of a
subkeymap (eg after . or c in notmuch-search and notmuch-show).
perf-test: bump version to 0.4, use manifest files

The new revision of the performance test includes manifests for each corpus,
so update the support library to use these manifests at the same time.
Merge tag '0.17_rc4'

notmuch 0.17~rc4 release
Merge tag '0.17'

notmuch 0.17 release
Merge tag 'debian/0.17-2'

uploaded to unstable
test: tree: pick remnants removed

Some no longer needed traces of pick remain in the emacs-tree
test. Remove these.
emacs: tree: bare-id in tree

Previously notmuch-tree-get-message-id always returned the id
including the prefix "id:". Modify the function to take an optional
`bare' argument saying to return the raw string.

This will be useful later and brings the function in line with
notmuch-show-get-message-id.
test: notmuch insert with maildir.synchronize_flags=false

Known broken, notmuch insert does not respect the config option.
insert: respect maildir.synchronize_flags

Don't synchronize maildir flags if the user doesn't want it.
devel: add doxygen configuration file

This is a pretty basic config to get started, generated using 'doxygen
-s -g' and mildly tweaked.

To generate the library man page man/man3/notmuch.3 from lib/notmuch.h
use:

$ doxygen devel/doxygen.cfg
lib: modify notmuch.h for automatic document generation

Minimal changes to produce a sensible result.
Merge tag 'debian/0.17-3'

uploaded to Debian unstable
emacs: Makefile.local: HAVE_EMACS usage fixes

If we don't have emacs, disable targets that used EMACS while doing
the recipes of that target.

If we do have emacs, make install-emacs depend on *.elc files,
as making the target will attempt to install those.
build: remove trailing '/.' when doing mkdir -p .deps/.

When make variable $@ does not contain directory part, $(@D)
resolves as '.'. In this case .deps/$(@D) is '.deps/.'
In some systems `mkdir [-p] directory/.` fails.
To make this compatible with more system substitute trailing
'/.' (slashdot) with '' (empty string) whenever it occurs there.
emacs: tree remove comma separator tags

Previously the tags on each line in tree view were separarted by ", "
not just " ". This is different from show and search views.

This patch removes this comma. This is a large patch as essentially
every line of each of the expected outputs in the tree tests needs
updating.

Apart from aesthetic reasons this simplifies the switch to
notmuch-tag-format-tags in the next patch.
test: basic: drop 'ensure all available tests are run'

When naming test scripts in format 'T\d\d\d-name.sh' the list of
tests to run are created dynamically. This makes test

'Ensure that all available tests will be run by notmuch-test'

in test/basic obsolete.
test: renamed test scripts to format T\d\d\d-name.sh

All test scripts to be executed are now named as T\d\d\d-name.sh,
numers in increments of 10.

This eases adding new tests and developers to see which are test scripts
that are executed by test suite and in which order.