Merge pull request #342 from JCook21/master

Added ability to pass a Traversable object to Client::execute
Setting the size of a stream if it is known after converting from a request
Cleaning up parsing response headers in streams
Way better handling of retrieving the size of a stream
Better ordering of methods in RequestInterface
Injecting CanCacheStrategy into DefaultRevalidation
Removing some methods from RequestInterface
Moving cacCache logic to the DefaultCanCacheStrategy
Removing BC break of returning null from getTokenizedHeader(), but triggering a deprecated warning. Closes #344
Minor performance improvements
Changing command.options to command.request_options
Adding the ability to enable deprecation warnings when using deprecated functionality
Adding the start of the next version changelog entry
Removing extra line from changelog
Adding CacheKeyProviderInterface and DefaultCacheKeyProvider back just in case they are being used on their own but emitting a warning when they are used
Prefixing deprecation warning error messages
Adding connect_timeout and removing curl from request options
Hiding the CURLAUTH_* constants from the Request options API and instead using Basic and Digest auth types
Accepting Basic and Digest as authentication schemes for RequestInterface::setAuth()
Just using parse_url instead of a UrlParser