search: implement minimal and/or interface for existing search
Created by: rvantonder
Stacked on #9244.
What this does is make it possible to run our search with its full functionality (i.e., get search results), but without using any of the existing scanner/parser code. It relies only and/or queries and its parsing.
This is primarily for me to develop against, so that the code path can reach Results()
where it'll be possible to implement intersection/union of and/or expressions. None of the code added here is reachable without a site flag, and that site flag is not intended to be activated by anyone other than me :)
I put in some hard panics for query validation that is not immediately important, but will matter later. I want to know about them if they happen.
All of this code will be replaced/removed by the time the switchover happens.