Http client adapters

This is a draft implementation of HTTP adapters solving #49. 

The library now supports:
* Guzzle 3
* Guzzle 4
* Buzz

The user has to choose an adapter when creating the API client :

```php
<?php

$buzz = new \Gitlab\HttpClient\Adapter\BuzzAdapter();
$guzzle3 = new \Gitlab\HttpClient\Adapter\Guzzle3Adapter();
$guzzle4 = new \Gitlab\HttpClient\Adapter\Guzzle4Adapter();

$bgitlab = new \Gitlab\Client('http://git.foobar.com/api/v3/', $buzz);
$bgitlab->authenticate('foobar', \Gitlab\HttpClient\HttpClientInterface::AUTH_HTTP_TOKEN);

$g3gitlab = new \Gitlab\Client('http://git.foobar.com/api/v3/', $guzzle3);
$g3gitlab->authenticate('foobar', \Gitlab\HttpClient\HttpClientInterface::AUTH_HTTP_TOKEN);

$g4gitlab = new \Gitlab\Client('http://git.foobar.com/api/v3/', $guzzle4);
$g4gitlab->authenticate('foobar', \Gitlab\HttpClient\HttpClientInterface::AUTH_HTTP_TOKEN);
```

:warning: This will break user's code when updating the library :warning: but I think it's a minor change.
As @matthiasnoback has already explained once [There's no such thing as an optional](dependency http://php-and-symfony.matthiasnoback.nl/2014/04/theres-no-such-thing-as-an-optional-dependency/)

This library cannot work work without the an actual HTTP adapter, so there are two options here.

1. Pick one and just use it, make it a requirement.

2. Don't ship this core-package with any adapter-implementation at all.
Create additional packages where each package provides an adapter and composer requirements for actual library.

For example: php-gitlab-api-buzz, provides the buzz http-adapter for the `php-gitlab-api` core package, and its composer.json requires the php-gitlab-api and buzz-library.

So when someone requires the php-gitlab-api-buzz package, this will install the php-gitlab-api and buzz-library, and no dependencies will be missing.

This also what I have done for RollerworksSearch.
https://github.com/rollerworks/rollerworks-search-doctrine-orm/blob/master/composer.json#L19-L21