Allow for query settings chaining

This change makes it easier for developers to set the options on
a query. For example,

```java
Query query = view.createQuery().setLimit(10).setDescending(false);
```