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.
I will readd the `forward` and `to` methods. The `send` method will be removed. `to` will throw an exception if no request exists. The factory gets a static `forward` method. This will make the Proxy object reusable and the old api is almost back:

    // using factoy
    GuzzleFactory::forward($request)->to($url);

    // without factoy
    $proxy->forward($request)->to($url);

The perfect solution would be to add a custom `ProxyRequest` object and a builder class which allows the user to build a request object that could be send using `Proxy->send($buildRequest);` Currently that would be overengineered. Going back to the previous api enables us to deprecate the "old" method when necessary.