Adds separate threads for message broadcasting and receiving.

This commit further introduces a type hierarchy for messages reducing the remote interface to a single method accepting an "abstract" Message. We then act upon this message depending on it's concrete type by the use of the "Visitor" pattern (a.k.a. multiple dynamic dispatch). Synchronization between the message receiver and sender as well as the internal processor clock has been taken care of.