Integrate previous work on haystack/elasticsearch

Integrates previous haystack work by @simod, @jj0hns0n, and @Nathan-Wang into the current GeoNode interface.

* Set HAYSTACK_SEARCH = True in settings to enable
* Title and abstract are boosted by 2 and 1.5 - maybe make this configurable in settings?
* Does not filter out results based on permissions.  Instead, displays the restricted results without links and replaces abstract with "You are not allowed to view this [object]" message.
* Populates keywords list with all results returned from Haystack, not just from the currently displayed items.
* By default, installs django-haystack and pyelasticsearch (in setup.py) - is this okay?

Related to https://github.com/GeoNode/geonode/issues/1409 and https://github.com/GeoNode/geonode/issues/261