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.
Hm, wanted to keep everything declarative and consolidated to one area so that it's easy to figure out what's going on. And wanted to keep the method signature clean, rather than have 5+ parameters.

There are some edge cases like ```is_offline```'s truthiness that prevents us from just looping over data.keys().