Fix ES tests on amo (bug 858447)

This PR, together with PR #1614 and #1594 should fix all ES failing tests for AMO.

Details:
* reworking the addon_factory fixed ```apps.browse.tests.TestUpdatedSort``` and ```apps.search.tests.test_view.TestPersonaSearch```
* mocking index_webapps fixes ```tests apps.search.tests.test_views.TestSearchSuggestions```
* PR #1614 avoids slug clashes in ```apps.search.tests.test_view.TestPersonaSearch```
* PR #1594 avoids ```apps.search.tests.test_views.TestESSearch``` issues with RequestFactory having no GET attribute
* fix errors on rendered html in ```apps/addons/tests/test_views.py``` by removing extra space between tags (there was an inconsistency between jenkins and my local tests)
* add a ```ESTestCase.tearDownClass``` fixes many recurring bug when not forcing the database recreation (fixes [bug 960598](https://bugzilla.mozilla.org/show_bug.cgi?id=960598)
* use cache-machine's ```LocMemCache``` backend to fix [bug 961139](https://bugzilla.mozilla.org/show_bug.cgi?id=961139)
* add the created addons to ```ESTestCase._addons``` to have them removed and unindexed after the tests
* skip early in ```lib/pay_server/test.py``` if we're not running the test to avoid trying to index a Webapp (which fails on AMO)