KSNetworkClient adds the response data to the userInfo of the error it rejects with on failed request

There is unexpected behavior for [NSURLConnection -sendAsynchronousRequest:queue:completionHandler:] where particular 4xx responses (e.g. 401) are handled as errors but response data is still available.  Usually, 4xx responses have response data but no error so that the promise returned by sendAsynchronousRequest has access to the response data on resolution.  This pull request adds the response data as a field on the userInfo of NSURLConnection errors, making the response data accessible on rejection.