ElasticSearch: avoid KeyError for empty spelling

It was possible to get a KeyError when spelling suggestions were
requested but no suggestions are returned by the backend.

Thanks to Steven Skoczen (@skoczen) for the patch
Add setup.cfg for common linters
ElasticSearch: update clear() for 1.x+ syntax

As per http://www.elasticsearch.org/guide/en/elasticsearch/reference/1.x/docs-delete-by-query.html this should be nested inside a
top-level query block:

{“query”: {“query_string”: …}}
Fixed typo in example

It should be `css_class` in the template tag example instead of just `class`. (It is mentioned correctly in the syntax line earlier).
Drop unused variable when post-processing results

original_results is not used in either method, and can be safely removed.
ignore 400 (index already exists) when creating an index in Elasticsearch
404 when initially retrieving mappings is ok
Merge pull request #1032 from maikhoepfel/patch-1

Drop unused variable when post-processing results
RelatedSearchQuerySet: move class globals to instance properties

This caused obvious failures in the test suite and presumably
elsewhere when multiple RelatedSearchQuerySet instances were in use
Test refactor - merge all the tests into one test suite (closes #951)

Major refactor by @honzakral which stabilized the test suite, makes it easier to run and add new tests and
somewhat faster, too.

* Merged all the tests
* Mark tests as skipped when a backend is not available (e.g. no ElasticSearch or Solr connection)
* Massively simplified test runner (``python setup.py test``)

Minor updates:
* Travis:
    - Test Python 3.4
    - Use Solr 4.6.1
* Simplified legacy test code which can now be replaced by the test utilities in newer versions of Django
* Update ElasticSearch client & tests for ES 1.0+
* Add option for SearchModelAdmin to specify the haystack connection to use
* Fixed a bug with RelatedSearchQuerySet caching using multiple instances (429d234)
Release v2.2.0
Merge pull request #1025 from reinout/patch-1

Fixed typo in templatetag docs example (thanks to @reinout)
Update Xapian install
Fixed the installing search engine doc URL
Link to 'signal processors'
Merge pull request #1047 from g3rd/patch-1

Update the installing search engine documentation URL (thanks @g3rd)
Merge pull request #1050 from jogwen/patch-2

Documentation: add a link to signal processors in search index
Docs: fix signal processors link in searchindex_api

Correct a typo in b676b17dbc4b29275a019417e7f19f531740f05e
Merge pull request #1044 from areski/patch-1

Update Xapian install instructions (thanks @areski)
Add PyPy targets to Tox & Travis

Closes #1049