MessageId: Now using RNGCryptoServiceProvider for the static random part of the MessageId, to prevent multiple Buses from generating the same MessageIds when they are started simultaneously on the same machine (not a theoretical issue, this actually happened !).