Exposed sort functionality of lucene to search function

Updates PR to remove additional, unrelated commits.

This commit adds three additional optional parameters to the search function:

sort-by - The field to sort by
sort-type - The type of sort to use, based on SortField.Type enum; and
reverse - Boolean, whether to reverse the sort or not