Add HttpClient abstraction.

    - This allow to use different http methods.
Merge pull request #9 from fbourigault/feature-http-client

Feature http client