Merge branch 'master' into develop
Update clients.rst

The path component of the base URL must end with a slash; otherwise, the effective URL of $client->get('example-request') is https://api.twitter.com/example-request instead of https://api.twitter.com/v1.1/example-request.
Make sure path leading slashes aren't added for empty hosts
Merge pull request #727 from likeuntomurphy/patch-1

Update clients.rst
Merge pull request #728 from jamiehannaford/empty-hostname-fix

Make sure path leading slashes aren't added for empty hosts
Fixing a slash URL normalization issue

When using multiple slashes in URLs, normalization caused them to be combined
into a single slash. This commit fixes that issue to work exactly how Chrome
handles these types of URLs. Closes #713.
Fixing multi-value header issue with StreamAdapter

Closes #725
Not applying POST headers until sending

Closes #706. This commit makes it so that POST headers are not
applied until sending a request. This allows you to do things like
change the query aggregator used before sending a request.
Adding more robust query string parsing.

This commit adds a QueryParser class that is able to perform much more
robust query parsing. The query parser can track whether or not to use
a duplicate aggregator and whether or not to use numeric indices in
mutli-value key value pairs. You can now control how the query string
is url-decoded when parsing as well as disable url-decoding.

This change addresses nested key value pairs using 'a[b][c]=d' syntax
such that when parsed, will produce nested arrays containing
`['a' => ['b' => ['c' => 'd']]]`. This gets Guzzle query strings more
like PHP's parse_str().

This change closes #730 and closes #731 dealing with multipart POST
requests stripping "+" signs from values. POST key value pairs for
multipart requests are no longer modified at all, but rather sent over
the wire exactly as given.
Fix to ensure that repeated values are parsed correctly
Updating based on code review feedback
Merge pull request #732 from guzzle/post_urlencode

Adding more robust query string parsing.
Fixing an issue with generating event arrays and adding missing tests
Wrapping functions.php in an if-statement

This change wraps the functions defined in functions.php in an if
statement that checks to see if GUZZLE_FUNCTION_VERSION is defined. If
it is not defined, it is defined and set to the Guzzle version number.
This allows you to use a "global" version of Guzzle alongside a local version,
and still know which functions.php was autoloaded.

Closes #676
Lots of fixes to multipart/form-data

Using the AppendStream to vastly clean up how a multipart POST is created.
This changes also cleans up how the body is sent over the wire, eliminating
some bugs I discovered when fields are sent before files.
Allowing PostBody to support multipart/form-data with base64 encoded strings
Merge remote-tracking branch 'pdt256/master'

Conflicts:
	src/Post/PostBody.php
Prepping for release
Ensuring that '0' paths can be combined into empty URLs
Merge pull request #736 from jamiehannaford/url-combine-0-fix

Ensuring that '0' paths can be combined into empty URLs