Add Search functionality to the API

This change includes functionality to parse the search API parameters, build a search DSL and perform the search against elasticsearch.
Consider creating a db.post method that encapsulates the json
marshaling and unmarshaling.

Then this could be:

    err := db.post(db.url(index, type_), doc, &respData)

making the business logic more clear, I think.