simplification attempt
This branch is a simplification attempt removing RemoteAppenderServerListener & RemoteReceiverServerListener, several tests commented out or broken but I am too tired to continue
I haven't reviewed this change in any detail, yet. However, I'll just mention that I introduced the ServerListener with a type parameter (instead of directly returning a Socket) precisely because it reduced the complexity of testing the server runner implementation.
I am beginning to realize that.
There remains the austere challenge of composing ReceiverFacingClients with various Encoders and AppenderFacingClients with various Decoders.