Bug 1098512 - made searchQuery work like a field filter

This fixes lots of issues found in a code-review with mdoglio.
1. roll the string search query into working like a normal field
filter, so it doesn’t require as much special handling.  It’s still a
bit special because it’s a string that gets split and checked with
substrings.  But much cleaner now.  Was able to remove a watch as well.
2. split the ``_checkFilters`` into separate ``_checkXXX`` functions to
make it clearer.
3. moved the filter handling of onLocationChangeSuccess into
``jobfilters.js`` because it belongs there.
4. caching the various values of the filters once each time they
change, rather than re-working them on each job during filtering.