Move need_output? to SearchRequest

@result.records should always be truthy after QuerySearcher#search is called
Reorder classes to become SearchRequest first
Add QuerySearch.search method