Refactored to touch base with Object Calisthenics

The refactor, can provide an easy integration with frameworks like SF2 and ZF2.
In the case of SF2, the user just need to declare the services into the container and do the properly injetcion

Can easily be a bundle

Each object has it own responsibility

Using Guzzle instead of call libcurl manually and the OAuth extension