Test exception logging for the reporter thread
Test exception logging for the reporter thread

Ensure exceptions during adapter data collection and reporting attempts
are logged as expected.

This required a bit of additional stubbing around kernel methods to
bypass the `loop` + `sleep` nature of the reporter thread, and ensure we
wait for the thread to complete fully at least once before running our
verifications. It's not great but without some other refactorings I
can't think of another way of doing it.

It also required an extra resetting of the logger for the reporter
itself, to make sure it'd honor the configured logger needed for these
tests, otherwise in some different test runs I was getting random
failures due to the logger being initialized by a previous test and
carrying over to these tests, not picking up the logger we configured
here to test against the output messages.

adamlogic/rails_autoscale_agent,adamlogic/rails_autoscale_agent,adamlogic/rails_autoscale_agent