searcher: send JSON body rather than using URL parameters
Created by: camdencheek
Searcher is one of the few services whose endpoint isn't a JSON API. It currently encodes arguments as query parameters, which breaks the flow of navigating by types, is more error prone than encoding to JSON (working with strings, not types), and is more difficult to read.
This PR modifies searcher to use a JSON request body for arguments rather than encoding them as URL parameters.