updated README [ci skip]
Simplify ClientInterface

- Everything that is related to listener has been moved from ClientInterface to
ClientListenerInterface. This should make each interface more light.
- Although theoretically not needed, ClientInterface extends ClientListenerInterface
just for the sake of IDE autocomplete.
- Simplified Client::request() complexity.
added Api::api() as a single entry point
added more tests for Api