Extract ResultFormatter from QuerySearcher
Introduce SearchRequest
Pass SearchRequest to ResultFormatter
Rename @result to @records
Introduce SearchResult class
Return SearchResult from QuerySearcher#search
Store end_time in QuerySearcher

ResultFormatter should just format
Access attributes on SearchResult via @result
Access query and context via @request
Put (so far) resolved results into SearchRequest
Decouple with SearchResult and QuerySearcher
Access query and context via @request
Re-order classes
Snakecase parseCondition to be parse_condition
Add ResultFormatter.format method
Merge branch 'refactor-searcher'