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)