serial: introduce support for raw TCP communication (send/recv bytes)
Add support for "conn=tcp-raw/<ip>/<port>" specs for serial transports.
This is consistent with previously existing SCPI transports, and is
compatible because there has not been TCP communication outside of SCPI
so far.
This implementation supports blocking mode and attempts to communicate
the very caller specified amount of data. Also suports non-blocking mode
and read timeouts, which can result in short reads.
Support for source add/remove exists, so that receive callbacks can
execute when receive data has become available. Other serial transport
methods are missing. There is no support for bitrate configuration,
flow control, flushing, UART frame formats, etc.