Moved search method into base search backend
Added search method to PageQuerySet
Implemented __in lookup in ElasticSearch backend

Also added an error message if a user attempts to use a subquery with the __in lookup.
Added get_indexed_objects method to Indexed class
This gives developers control over the QuerySet used when the model is added to the indexed
Use get_indexed_objects to speed up indexing of Images/Documents
Previously, this created a query for every single image and document to get the tags. This was very slow on RCA which has over 15000 images.
This commit fixes this by adding a prefetch_related to the QuerySet used for indexing.
Added some more FilterFields to Page
Use a multi_match query instead of a query_string query
Minor optimisation when building single field queries
Merge branch 'searchchanges/bits-and-pieces-2' of https://github.com/kaedroho/wagtail into kaedroho-searchchanges/bits-and-pieces-2

Conflicts:
	wagtail/wagtailcore/models.py
	wagtail/wagtailcore/query.py
fix tests for lt, gte, lte filters to expect a multi_match response
Merge branch 'kaedroho-searchchanges/bits-and-pieces-2'