A take on re-implementing channels (WIP- don't merge)

This is WIP and not yet finished.

So, the idea is to eliminate the internal DiscoveryClient/RegistrationClient APIs, and embrace its logic into channel itself. It is ok, but this means we will have to handle REST in message passing way (so object mapping to REST URIs), which the former APIs were supposed to mitigate, and it was the reason for introducing them.