Re-throw exceptions from the live listener background thread

Exceptions thrown in the background thread of SNSLiveEventDataListener
are caught and then re-thrown from the foreground thread so the calling
algorithm will see them and act accordingly.

Refs #6599