Use ClientInterface instead of specific implementation

Code should rely on interface instead of specific implementations. This commit provide ability to replace `GuzzleHttp\Client` class implementation to different one (wrapped for example).

For example in case of extensions, which add context for matching responses of API, it is very useful to just wrap `GuzzleHttp\Client` class and replace it in container.