In the case where no new samples have arrived for a SampleArray instance since the last emission the instance will be unregistered.

This is to fix a bug where previously detached sensors (on detached modules) would continue emitting old samples in perpetuity.
Per the docs create_topic and lookup_topicdescription must be mutually excluded.

from lookup_topicdescription: "UNSAFE. It is not safe to lookup a topic description while another thread is creating that topic."
from create_topic: "UNSAFE. It is not safe to create a topic while another thread is trying to lookup that topic description with DDSDomainParticipant::lookup_topicdescription."
Ignore instance lifecycle events that do not contain valid data when iterating the SampleArrayReader.
Adds more detail to the log about which type of data element could not be parsed as a number.
Until we can root-cause the intermittent failure to successfully delete the ContentFilteredTopic in the SampleArrayInstanceModel relegate these Exceptions to the log.

The Exceptions may leave the UI in a bad state but by capturing the Exceptions the user still ought to have the ability to shut the program down (without killing the process).