1. Make TcDistributor less powerful / more flexible and rename it to TcDistributorBase
2. Require AcceptsTelecommandsIF to have an abstract function returning the name
3. Allows the CCSDS distributor to remove the CCSDS header before rerouting. This is useful
for protocols like CFDP which are CCSDS agnostic.
WIP: Still need to implement the removal of the CCSDS header
This refactoring keeps the TCP connection opened until the client closes
it. It also increased the robustness of the TCP reception.
Because TCP is stream based and usually applied to newline separated
data, a special way to handle binary space packets is required.
The new SpacePacketParser class takes care of this by taking TC packet
IDs as as optional start markers to parse for space packets in a given
buffer.
The refactored TCP server uses a ring buffer, a reception buffer and the
new parser to extract space packets from a stream in a safer way.