Separate out doc_type ES logic into another module

search/index.py just contains the index class now, __init__.py contains
the actual instance of the index that should be used by other parts of
EN, and types.py contains the base adapter for document types to be
registered.
Specify which fields should be highlighted in search

Can be set when registering a model with the default adapter, or by
using a custom adapter.
Replace search view to work with ElasticSearch

Room for much improvement, but this works so far. Creates a templatetag
to render a search result which is optionally highlighted. Also updates
the DocumentType adapter to receive arguments for fields which should be
highlighted.