consolidate app filtering for both feed + search

- Combine ```mkt.search.views._filter_search``` and ```mkt.webapps.indexers.from_search``` into ```mkt.webapps.indexers.get_app_filter```.
- Separate the filtering and sorting code.
- SearchView had a lot of needless helper methods, which made the dataflow confusing. I put most of it into one method.
To me this seems like it is conflating data we're using to determine whether we filter and the filters themselves. E.g. the difference between `data.keys()` and `term_fields + terms_fields`. E.g., I think mobile, gaia, tablet could just be local variables and not included in `data` along with a couple of the others?