Move test Solr instructions into a script

These will just rot horribly if they're not actually executed on a
regular basis…
tests: update requirements to match tox
Tests: update Solr schema to match current build_solr_schema

* Added fields used in spatial tests: location, username, comment
* Updated schema for recent Solr
* Ran `xmllint --c14n "$*" | xmllint --format --encode "utf-8" -`
Tests: update test_quotes_regression exception test

This was previously relying on the assumption that a query would not
match, which is Solr version dependent, rather than simply
confirming that no exception is raised
Tests: update test_more_like_this for Solr 4.6
Docs: fix ReST syntax error in searchqueryset_api.rst
Fix bounding box calculation for spatial queries (closes #718)

Thanks @jasisz for the fix
Whoosh: allow multiple order_by() fields

The Whoosh backend previously prevented the use of more than one
order_by field. It now allows multiple fields as long as every field
uses the same sort direction.

Thanks to @qris, @overflow for the patch

Closes #627
Closes #919
Allow users to pass in additional kwargs to Solr and Elasticsearch backends

Fixes #674, #862
Doc formatting fix
Add narrow queries as individual subfilter to promote caching

Each narrow query will be cached individually which means more cache
reuse
Simplify mappings for elasticsearch fields.

- don't specify defaults (index:analyzed for strings, boost: 1.0)
- omit extra settings that have little or negative effects
  (term_vector:with_positions_offsets)
- only use type-specific settings (not_analyzed makes no sense for
  non-string types)

Fixes #866
Remove extra code
Solr backend: run() kwargs are passed directly to search backend

This allows customization by subclasses and also fixes #888
by ensuring that the custom field list prepared by 
`ValuesQuerySet` and `ValuesListQuerySet` is actually used.
ElasticSearch backend: run() kwargs are passed directly to search backend

This allows customization by subclasses and also fixes #888
by ensuring that the custom field list prepared by 
`ValuesQuerySet` and `ValuesListQuerySet` is actually used.
No need to store fields separately in elasticsearch

That will justlead to fields being stored once - as part of _source as
well as in separate index that would never be used by haystack (would be
used only in special cases when requesting just that field, which can
be, with minimal overhead, still just extracted from the _source as it
is).
Make sure DJANGO_CT and DJANGO_ID fields are not analyzed
Tests: skip Solr content extraction with old PySolr

Until pysolr 3.1.1 ships there's no point in running the Solr content
extraction tests because they'll fail:

https://github.com/toastdriven/pysolr/pull/104
Merge pull request #888 from acdha/888-solr-field-list-regression

Solr / ElasticSearch backends: restore run() kwargs handling

This fixes an earlier regression which did not break functionality but made `.values()` and `.values_list()` much less of an optimization than intended.

#925 will be a more comprehensive refactor but this is enough of a performance win to be worth including if a point release happens before #925 lands.
Tests: update pysolr requirement to 3.1.1

3.1.1 shipped a fix for a change in the Solr response format for the
content extraction handler