Refactor ServerFacade
ServerFacade and its two implementations have intrinsic state in their
associated groups.
The API and interactions are rather involved, including a threadpool
holding a thread, which is waiting for channel shutdown.
This completely refactors things:
- ServerFacade is an abstract class with a well-separated public and
private APIs
- {Tcp,Udp}ServerFacade are replacements for {Tcp,Udp}Handler, which
manage the lifecycle
- instantiation is completely asynchronous, so that we know at all times
what we need to clean up and what is fine
Change-Id: I82952b5c3e54a9b9067f6d28bc6e9072373b146b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
ce1a49362ddb70df372798f0ed5c1fbfc39d83a4)