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.
Document the form of the map.  It is fieldName = [val1, ... , valn] right?