optimize disjunction searcher to trim child searchers array earlier
optimize disjunction searcher to trim child searchers array earlier

Disjunction searchers are used heavily by higher-level searchers, like
prefix searchers.  In that case, a disjunction searcher might have
many thousands of child searchers.

This commit adds an optimization to close each child term searcher as
soon as a child searcher is finished and remove it from the
disjunction searcher's children.

steveyen/bleve,slavikm/bleve,slavikm/bleve,blevesearch/bleve,blevesearch/bleve,steveyen/bleve