database: Add notmuch_database_compact_close

This function uses Xapian's Compactor machinery to compact the notmuch
database. The compacted database is built in a temporary directory and
later moved into place while the original uncompacted database is
preserved.

Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
notmuch-compact: Initial commit

Introduce the user command exposing the new compaction facility.

Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
notmuch-compact: Add man page

Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>