mu: Test splicing child containers when there is only one thread

This test reproduces a regression introduced by commit 97101f1f82ba
("mu: Prune empty container when an only child gets promoted to the
root set").

When the results of a mu-find query contain only a one thread:

$ mu find --threads --fields 'd s' ''
Sat 09 Aug 2014 07:00:00 PM CEST [mu4e] Test Message
  `-> Sat 09 Aug 2014 08:30:00 PM CEST Re: [mu4e] Test Message

... and we narrow down the query in such a way that the root message
gets excluded, then a crash occurs:

$ mu find --threads --fields 'd s' '' date:2014-08-09/20:00..2014-08-09/21:00
**
ERROR:mu-container.c:117:mu_container_append_siblings: assertion failed: (c)
Aborted (core dumped)

Reported-by: Josiah Schwab <jschwab@gmail.com>
mu: Prune empty containers from the root set after splicing their children

When the root set contains only one empty container with one child
first promote the child container to the root set and only then
remove the empty parent container so that the root set never goes
empty.

Also make mu_container_splice_children() do only one thing, that is
promote one container's children to be another container's siblings.
The resultant childless container is no longer removed by this
function.

Fixes #460.
mu: Make mu_container_splice_grandchildren() do only one thing

Don't kill the resultant childless container when promoting its
children. This unifies the behavior of mu_container_splice_*()
functions.
Merge pull request #463 from jsitnicki/thread-sort-fixes

Remove empty container after promoting its children to siblings