[WIP] 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
Does this mean if we discover a problem with one of the feed indexes, we have to reindex all indexes to fix it? If so, can this take a command to limit which index we're reindexing? So we can do something like `./manage.py reindex_mkt --index=mkt_feed_brand`?