Change Query constructor args based on CRUD API spec

Query document is the only required field. All other fields are optional. To avoid complicating the constructor, we'll handle the option merging in the init function.
Update tests for revised Query constructor API
Fix setting of zvals with zend_hash_update() when constructing query

New tests cases for fixed hash update code paths on $orderby and $query keys.