Big refactor: traces, queues, encoding stream id and signals in tag
Big changes
- message queues implemented as ring buffers
- sequences of semantically "together" messages can be sent without interruptions from other streams
- signals and stream id are encoded transparently in the MPI tag, but can be recovered from the delivered message
- channel and channel_map traces can be recorded and read (but no replays yet)