Reduce database pause for initial search table scan: Bug #725929

SELECT within a SELECT can be deadly with SQLite and we've coded them
out of other places to improve database performance.  The initial
search table scan at startup also used a SELECT within a SELECT, and
so refactoring it to manually perform the UNION operation improves
performance.  The normal case (no rows must be indexed) is completed
almost instantaneously now.
Improved search indexing progress indicator usage: Bug #713153

This change does two things: (a) Only activate the search index
progress monitor if indexing has actually started (i.e. doesn't
display if no work is to be done), and (b) better estimates the amount
of work to be performed so the progress bar doesn't "jump" at the very
end.
Remove search index progress bar margins

With GtkHeaderBar, the margins are no longer necessary.
.gitignore tokenizer binary if built by user