Added Auth Digest support



Added two new classes which extend the Client class by wrapping it so that an Authentication header is sent if necessary.

This was created as an Adapter because the Listener class was missing the functionality required to resend a request if needed and modifying the Listener would have been incorrect.

Notes:
1. qop=auth-int currently does not work, I'm not sure if the problem lies with the request->getContent(). I will have to study the HTTP RFCs to see what the entity-body is defined as exactly.
2. This adapter does not set any Cookies if they are received (neither does the normal client). I tested this on httpbin.org and it did not work because the cookie was missing.

Here is an example to test these classes:
```
<?php

require('vendor/autoload.php');

use Buzz\Browser;
use Buzz\Client\Curl;
use Buzz\Adapter\DigestAuthAdapter;

$client = new Curl();

$adapter = new DigestAuthAdapter($client);
$adapter->setUsername('user1');
$adapter->setPassword('user1');

$browser = new Browser($adapter);

$response = $browser->get('http://test.webdav.org/auth-digest/');

echo $response;


Unfortunately not, the nonce value from the server needs to be stored as we are unable to calculate the response value without it.

If we don't store at least this value then for every request we send the server will send a 401 response and we will then have to re-authenticate. This would mean twice as many http requests.

The problem that you highlighted is alluded to in RFC 2617 as they point out that pipelining could cause problems if the server changes the nonce value.