Talked on IRC w/ @nicolaasmatthijs about this. The issue with `/api/search/<tenant>/<searchtype>` is that the dynamic `tenant` value will start to conflict with dynamic searchtype names for custom pluggable searches.

We decided that it would be better to have a single search endpoint, but introduce the parameter:

`scope=(<tenant alias> | 'all')`

If no `scope` parameter is provided, the back-end will treat it as the current tenant: `scope = ctx.tenant().alias`. If `all` is specified, it will search all tenants other public tenants (if the current tenant is private, searching with `scope=all` should effectively have no effect, but probably shouldn't cause an error).