Created BaseSearchQuery and moved some logic from ElasticSearchQuery into it
DB search backend now checks search_fields to see if fields are actually filterable. It also no longer supports any queryset features that the Elasticsearch backend doesn't support