Introduce ListenerAwareClient and simplify Browser class (BC break)

I've also removed `Browser::getLastRequest()`, `Browser::getLastResponse()`. For those who need this functionality use the listener, e.g.:

```php
$client = new ListenerAwareClient(new Curl());
$client->addListener(new CallbackListener(function ($request, $response = null) {
    if ($response) {
        // do something with `$request` and  `$response`
    })
);

$browser = new Browser($client);
$browser->call(...);
```
or
```php
$listener = new LastMessageListener();
$client = new ListenerAwareClient(new Curl(), array($listener));

$browser = new Browser($client);
$browser->call(...);

$lastRequest = $listener->getLastRequest();
$lastResponse = $listener->getLastResponse();
```

TODO

- [ ] Add tests