Any valid search string is now a valid filter expression or a
watched project. The only operator not supported here is the
is:watched operator, because that creates a recursive call that
would never succeed.
The change turned out far bigger than it should be due to the request
scope requirement for the query builder. We had to rearrange a lot
of code to ensure we always have the request scope available in order
to construct a query builder and execute the filter expressions.
Bug: issue 492
Change-Id: I199d9b215e000c049279cd8e86e7a36386fee0fb
Signed-off-by: Shawn O. Pearce <sop@google.com>