Added NuGet-style field queries to search service

Fixes the in-flight 3.0.3 release to support existing field queries. Now, we apply all field filters ("id:", "title:", etc.) as **must-have** clauses, meaning only documents that match those fields will be accepted. We do alias "id:" to the "TokenizedId" and "ShingledId" fields because users expect that to be a substring match.

Also:
* Queries from the test site always generate explanations, but they are collapsed by default
* Explanation queries also include the final, raw Lucene query executed for debugging