Fixes a bug in querystate handling.

If dataset.query() receives an argument it expects it to be a querystate object, which is a simple javascript object describing the query parameters. 

However, we were using this function as a callback whenever a `change` event gets fired on the Query object (which is a Model subclass). The first parameter passed to the callback in this case was the changed Query object. The query() method then tried to update the Query using itself, e.g. query.set(query, {silent: true}). This creates a strange recursive object which is hard to serialize!

The solution, I think, is to have an anonymous callback call query() without any parameters.

Fixes okfn/dataexplorer#120.