[INV-414] Order search results

@clicktravel-craig Ready for review. thanks J
Syntactically the following would be valid:

Map<String, String> sortOrder = new HashMap<>();
sortOrder.put("title", "desc");
sortOrder.put("age", "descending");
sortOrder.put("lastName", "ascinding");
sortOrder.put("firstName", "random");

I would propose having a "SortOrder" class to define the sort order which would contain a java.util.List of "SortOption" elements. A "SortingOption" would be a tuple of "key" (String) and "direction" (enum: ASCENDING/DESCENDING). With the default sort direction being ASCENDING for a given "SortOption".

You would then need a parser to take a SortOrder and produce something suitable for CloudSearch.

In addition it would be good to define a public constant: SortOrder.DEFAULT for convenience of not having to define an empty list all the time if we do not wish to specify a sort ordering.

I hope this helps.