Major touchup

* Added docblocks
* Added namespace
* Improved composer configuration
* Streamlined the API (BC Breaks).
* Refactored code for more readability
* Added adapters. Guzzle as client is now interchangeable.
* Added request and response filters. Users can now modify the Symfony requests and responses to their liking.
You are right, but moving Guzzle into the required-dev section would reduce conflict potential with already existing Guzzle installations in productive scenarios. In other words, the user can keep the one already installed by his main project.