Implement a basic search using ElasticSearch

This is a basic implementation of search. It supports simple queries and pagination. It requires elasticsearch.

Coded with the help of @robhudson.