ES feed indexers and search view, refactor indexing code to use a BaseIndexer

In an attempt to write a search view for the new Feed Curation Tool, things have gotten larger and into the scope of refactoring a lot of indexing code to not work with just apps.

The components of this patch to look at:

- [ ] **BaseIndexer**: defines common indexing methods such as ```get_analysis``` or ```setup_mapping```, or ```run_indexing```.
- [ ] **reindex_mkt**: now with zero webapp-specific code
- [ ] **Refactoring WebappIndexer code**: new standard to put indexing code in ```indexers.py``` (and ```test_indexers.py```), use the ```BaseIndexer```
- [ ] **Feed Indexers**: there are three of them, all inherit from ```BaseIndexer```
- [ ] **Feed Search Views**: search view that pulls from three indexes and serializes into one response
- [ ] **Guillotine**: remove AMO reindex flagging code
`self.indexer = self.obj.get_indexer()`? One less thing to manually keep in sync?