Made Log Error/Warning recording thread-safe

The MessageLogger has the ability to record the LogError and LogWarning messages which can then be gathered by user code. This was changed to be thread safe by collecting the messages per Stream in a thread safe map and then having the system clear those maps once the Stream has finished with an Event. Although this is a behavior change, the only way this feature was used in the past was to gather the messages per Event anyway.