Prototype of CDTDatastoreFromQuery

Test case shows how to create a CDTDatastoreFromQuery object and push/pull on it.

Deriving the list of Doc IDs is currently mocked with a fixed list of IDs but this can be replaced with a real implementation once the query work is complete.

Similarly, automatic naming of the database based on the query is not yet present but this is anticipated to be some sort of stable hash based on the query (the same query gets the same name each time).
Main scary thing here is what happens to documents the user has updated since the push replication completed but which no longer match the query.