28085 feature parity ios query

Add the following features to bring query/indexing in line with iOS code:

* sort_by option
* offset option
* limit option
* unique_values method

Query now takes Map<String, Map<String, Object>>. The top-level map has two keys, "query", and "options". The existing query code accesses the map at "query", and if "options" is present then the additional options above are processed.