lib/Makefile.local: depend on libs we are linking with
test: delay watchdog checks in emacs.

Instead of checking immediately for the watched process, delay a
minute, or in the case that process-attributes returns nil, for two
minutes.  This is intended to cope with the case that
process-attributes is unimplimented, and returns always returns nil.
In this case, the watchdog check is the same as the two minute limit
imposed by timeout.
NEWS: News for 0.15.2

Another couple of build fixes.
debian: changelog stanza for 0.15.2-1
bump versions to 0.15.2
emacs: show: make buttons select window

Emacs has two button type objects: widgets (as used for saved searches
in notmuch-hello) and buttons as used by parts/citations and id links
in notmuch-show. These two behave subtly differently when clicked with
the mouse: widgets select the window clicked before running the
action, buttons do not.

This patch makes all of these behave the same: clicking always selects
the clicked window. It does this by defining a notmuch-button-type
supertype that the other notmuch buttons can inherit from. This
supertype binds the mouse-action to select the window and then
activate the button.
test/test-lib.sh: use $test_subtest_name in all tests

Set the variable '$test_subtest_name' in all functions which starts
a new test and use that variable in all functions that output
test results.

Additionally output the latest '$test_subtest_name' in case of
abnormal exit, to avoid confusion.
test/test-lib.sh: separate signaled exit

When execution of tests is interrupted by signal coming outside of the
test system itself, output just one line "interrupted by signal <num>"
message to standard output. This distinguishes the case from internal
exit and reduces noise.
lib: Clean up error handling in _notmuch_thread_create

Previously, there were various opportunities for memory leaks in the
error-handling paths of this function.  Use a local talloc context and
some reparenting to make eliminate these leaks, while keeping the
control flow simple.
lib: Separate list of all messages from top-level messages

Previously, thread.cc built up a list of all messages, then
proceeded to tear it apart to transform it into a list of
top-level messages.  Now we simply build a new list of top-level
messages.

This simplifies the interface to _notmuch_message_add_reply,
eliminates the pointer acrobatics from
_resolve_thread_relationships, and will enable us to do things
with the list of all messages in the following patches.
lib: Eliminate _notmuch_message_list_append

This API invited micro-optimized and complicated list pointer
manipulation and is no longer used.
lib: Add an iterator over all messages in a thread

Previously, getting the list of all messages in a thread required
recursively traversing the thread's message hierarchy, which was both
difficult and resulted in messages being out of order.  This adds a
public function to retrieve an iterator over all of the messages in a
thread in oldest-first order.
ruby: Add bindings for notmuch_thread_get_messages
devel/release-checks.sh: added check that 1st NEWS header is tidy

Check that the underlining '===...' for first (header) line in NEWS
file is of the same length as the header text and it is all '=':s.

-- extra execs removed by db.
Merge branch 'release'

add in NEWS from 0.15.2

Conflicts:
	NEWS
Merge heads/master into tweaks-unstable