Updated client to not clobber user agent when setting default headers

When using the `Guzzle\Http\client::setUserAgent` method, it is unsafe to use the `Guzzle\Http\client::setDefaultHeaders` afterwards, because is will clobber the user agent string you previously set. This PR updates the `Client` class to hold the user agent string in a different instance variable, which gets merged in when creating the request.