search: don't pretend free_receiver can fail
rename 'xapianactive' as 'activefile' everywhere

I still want it to be greppable
search: abstract out the cleanup required after indexing a single user

For now still called as part of finishing a mailbox, but on the way to
combining multiple mailboxes in one locked transaction.
flush: don't worry about indexed fiddling

It doesn't hurt to re-merge the same numbers during commit instead,
and it simplifies the logic
XXX - I did rewrite it, just forgot to remove the comment
xapian: don't reload the DB or map file if changing mailboxes
tiers by name rather than offset

This also removes any ordering constraints between the tiers, and
needs a new Cassandane test to match.  The squatter syntax is now
-z dest -t src,src,src - allowing all messages on any tier to be
compressed to any other tier.

This could also be used for things like "compressing" a tmpfs tier
to meta daily, without rewriting ALL the existing meta, so:

daily 0,1,2,3,4,5: squatter -z meta -t tmp
daily 7: squatter -z meta -t tmp,meta

Meaning that only once per week would the 6 daily plus the current
tmp be combined to the meta drive...
gnb review fixup

Of course pwrite returns a length, not an integer
assert: make it core dump

Almost always when we get an assertion fail we want to debug the cause.
This patch goes neatly along with 'fatal => abort in common daemons' to
help debug production and test issues.