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
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