Replace inheritance hierarchy with composition

In the process of unification of the clients code we should use
composition to allow easier replacement with common HTTPClient.

Related to blueprint common-client-library-2

Change-Id: I1e4ec379e1f6289ed26a5a3157917d3d20a36bd6