Remove request and response object from message string
Massive refactoring of Url, QueryString, and Request for RFC3986

TODO: ArrayCookieJar & tests are failing
Merge remote-tracking branch 'origin/master' into refactor-url
Remove query_prefix from Url parts
QueryString::$prefix is now completely unnecessary - removed
Request resource must always be an absolute path
Path for requests must always be absolute. Optimizing Url::__toString().
Adding getResponseBody() to the RequestInterface and uses a targeted response body with redirects. Closes #228.
Fixes edge-cases in Url, QueryString, and Request

Falsy values (the string "0") are now handled properly

e.g. http://foo.com?0, http://foo.com#0
Merge pull request #227 from hobodave/refactor-url

Refactor URL implementation per RFC-3986
Updating headers to split using glue when added
Fixing parsing of Set-Cookie and Set-Cookie2 based on RFC 6265.
Don't reuse CurlMulti
Allowing only HTTP and HTTPS protocols
Headers are no longer split on a default glue of "," when adding Rolls back 2f8565b46ac721259497a39e7f458a720acf9d64 This is necessary to work well with headers with commas (e.g. Date)
Adding a way to explode all headers on glue using the normalize method
Only using CURLOPT_PROTOCOLS if cURL version >= 7.19.4 Closes #236
Make a choice when max-age is present twice
The encoding scheme used by Guzzle\Http\QueryString can now be customized Guzzle\Http\QueryString no longer accepts a callback function for aggregation but rather uses QueryAggregatorInterface objects. Addresses #238.