Add support for "safer" query wrapper

The "safer" query wrapper analyzes the queries it wraps and degrades them
if they would take too long to run.  We want that if we can get it.

DEPLOYMENT: You have to turn this on with a setting _and_ you'll need
I9560105c31d429df24d13232222740acba9b8e9a from the elasticsearch plugin
to be released and deployed before you turn it on.

Change-Id: I7c4fa048a04f1c98fa20e46805f166486ec260d3
Empty prefix search searches everything

Before this empty prefix searches would search for only pages with empty
titles which was totally weird and wrong wrong wrong.  Now it searches
for all pages in the namespace and sorts them based on weighting.  That
is what lsearchd used to do I believe.

Fixes T76350.

Change-Id: I36763d13c04ad2f2cd9e796aa699ac1a8ab4515f
Pull prefix searches into their own pool counter

This will make sure that spikes in full text search don't hurt prefix search
and spikes in prefix search don't hurt full text search.

Change-Id: Ief6b715681783508ddf9723d512201eaf4691299
Merge "Pull prefix searches into their own pool counter"
Merge "Empty prefix search searches everything"