fix: Fixed `ConcurrentModificationException` when accessing a chat-room
* If a new chat-room was created, `InfoChannel` only reacted with the
creation of the according `ChatRoomInfo`-instance.
* The creation of the accompanying `ChatRoomData`-instance through
`DataChannel` was posponed until the new chat-room was accessed the
first time.
* That way, `InfoChannel` did not need to know `DataChannel`, so that a
cyclic dependency could be avoided.
* As a downside, this approach was open to a race-condition: if several
accesses to the newly created chat-room happend in parallel, a
`ConcurrentModificationException` was thrown, since the instance of
`ChatRoomData` was created multiple times in parallel.
* To circumvent the locking, that would be necesarry to evade this race
condition, the approach was refactored, so that `InfoChannel` now
explicitly triggers the creation of the `ChatRoomData`-instance.
* To do so without introducing a cyclic dependency, the class
`ChannelMediator` was introduced, so that `InfoChannel` and `DataChannel`
need not to know each other.