Add `ServiceFactory::setHttpClient()` class method.
Add `ServiceFactory::setHttpClient()` class method.

 * Remove `ServiceFactory::__construct`. HTTP client should be set via
`setHttpClient`.
 * Remove `$httpClientMap` as it's not longer necessary. `setHttpClient` enforces
that the client implements ClientInterface via type hinting.
 * To maintain backwards compatibility, `ServiceFactory::createService` creates a
`Common\Http\Client\StreamClient` instance if no HTTP client has been set.

I'm not crazy about the backwards compatibility hack, but it keeps the library
functioning the way it did before while at the same time adding flexibility.

leansoft/PHPoAuthLib,sebastian301082/PHPoAuthLib,sellerlabs/oauth-php,hanneskaeufler/PHPoAuthLib,MaDKaTZe/PHPoAuthLib,huitiemesens/PHPoAuthLib,gasparfm/PHPoAuthLib,Surfoo/PHPoAuthLib,elliotchance/PHPoAuthLib,defragmentator/PHPoAuthLib,canfiax/PHPoAuthLib,RewardGateway/PHPoAuthLib,geodeveloper/PHPoAuthLib,PeeHaa/PHPoAuthLib,i-am-ains-ly/PHPoAuthLib,JLueke/PHPoAuthLib,develme/PHPoAuthLib,flavioheleno/PHPoAuthLib,lussn/PHPoAuthLib,ChaosPower/PHPoAuthLib,Fruitware/PHPoAuthLib