lib/socket: distinguish `TCPServer` from `TCPStream`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/socket: intro `flush` and `blocking=`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/socket: minimal update to `SocketObserver` API and note some problems

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/socket: update examples to the latest API

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/socket: add an easier server example

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/socket: update socket clients

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>