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
I'd prefer if this built a chain for each index so they can run in parallel. There's no need to index them in order. So, for each index we can build a `chain` and `chain.apply_async()`. That can be an improvement we do after this is merged tho.