add device filtering to apps of the feed (bug 1054381)

I elected to implemented it all on the view level.

For FeedView

- If a Featured App has an incompatible app, nix it from the view.
- If a collection has all incompatible apps, nix it from the view.
- If a collection has some incompatible apps, filter out the incompatible apps from the collection.

For FeedElementGetView

- If feed element has all incompatible apps, just show everything. Since it wouldn't have shown up on the Feed, it must mean the user navigated there manually.
- If a feed element has some incompatible apps, filter them out.
I did not know this existed. Instead of making this change, we should probably abstract this further, and have a `req_factory_factory_factory`, to create request factory factories. :trollface: