0590962d36
The existing provider system is split between a confusing mess of RemoteSearch, SearchSystem, SearchDisplay, and ViewSelector, partly because of the vestigal in-shell search system. Move most of the logic to search.js so it's easier to read.