(TK-29) Add support for query parameters

This PR adds support for query parameters to both the Java and clojure clients.

With the Java client, setting Query Parameters works the same way it did before the port to AsyncHttpClient.

With the clojure client, query parameters are set with a new :query-params option in the options map passed to a request. Query parameters can be set either in the URL or with this new option. However, if the query parameters are set with this new option AND in the URL, all parameters set directly in the URL will be removed, and only the ones specified in the options map will be sent as parameters.
@nwolfe - `.deref` in this case is defined on `com.puppetlabs.http.client.impl.Promise`, it's not clojure's normal `deref`, so we can't use `@` here.