Move all search related classes to search package
Extracted common searcher logic to AbstractSearcher