Don't append a ? to the URL for get/head requests when payload is empty

Currently if you pass an empty payload (EG: {}} for a get (and I'm assuming head) request a ? is appended to the URL.

This change resolves that.

Here's the test I wrote failing before implementation

![](http://puu.sh/2Kw8k.png)

Here's the test I wrote passing after implementation

![](http://puu.sh/2Kw8N.png)

Here's the test suite passing:

![](http://puu.sh/2Kw9Q.png)

That http file is an absolute mess. I'm happy to break them out into individual files (http/response & http/query.rb) on the weekend if you're cool with it.