Re #9542. Create a monitor workspace.

The monitor workspace is created in the initialization step at the same
time as the 'main' workspace. It is embedded inside the data buffer
workspace using the new functionality for that (setMonitorWorkspace).
It shares the instrument etc. with this main workspace and has the
detector IDs wired up properly.

On each call to extractData() a fresh, empty copy of this monitor workspace
is created and placed within the similarly fresh data buffer workspace.
Re #9542. Populate the monitor workspace with events.

The code to parse the packets was already there, so this step is easy.
For each event we just find the right event list and pop it in.
Re #9542. Indentation fix only.
Re #9542. Avoid logger stream methods where possible.

They are much less performant. Of course, this only really matters if
the line is called often, but I am trying to be consistent.
Re #9542. Log error if an event from an unknown monitor is seen.
Merge remote-tracking branch 'origin/feature/9542_monitor_events_in_sns_live_listener'