Make __call arguments required for consistency

Making the second argument optional presents difficulty with some
testing libraries (namely Mockery) which subclasses a given class and
overrides __call() without the second argument being optional. This
gives a PHP error "Declaration must be compatible with that of
{superclass}".

The second argument is always provided by PHP, so there shouldn't be any
need for a default.
Merge pull request #315 from bradfeehan/magic-method-compatibility

Make __call arguments required for consistency
Aliasing ResponseBodyVisitor and fixing throws statement
Fixing regression introduced when parsing nested XML.
Removing some circular references
Better cleanup of CurlMulti handles on exceptions
curl.callback.progress emits a resource rather than CurlHandle
Removing curl_handle and curl_multi debug Request params
Refactoring redirects
More fixes to redirects
More cleanup between requests and redirect history
Test cleanup
Using a small clone of a request when setting on a response to avoid a circular reference
Cleaning up request state management
Removing RedirectHistory (just use the HistoryPlugin)
Adding getEffectiveUrl() and getRedirectCount() to Response
Updating HistoryPlugin to more accurately reflect over the wire
Updating HistoryPlugin and tests
Adding coverage for casting the history plugin to a string
Removing old redirect hack
Correctly handling effective URLs for responses
Adding better cleanup of events to the RedirectPlugin
Better handling of setting the effective URL
Fixing tests
Deprecating ZF1 log and cache adapters.
Removing ZF1 tests that required some hacky tests and composer settings
CS fixes
Fixing message formatter use of Curl handles. Closes #316