clean up loop in sniffer task, prevent hanging

Consistent failure now, no hanging:

```test resource_task::test_bad_scheme ... FAILED
test resource_task::test_exit ... ok
test mime_classifier::tests::test_sniff_webm ... ok
test image_cache_task::tests::should_return_decoded_image_data_if_data_has_arrived ... ok
test image_cache_task::tests::should_return_decoded_image_data_for_multiple_requests ... ok
test image_cache_task::tests::should_return_image_on_wait_if_image_is_already_loaded ... ok
test image_cache_task::tests::sync_cache_should_wait_for_images ... ok
test image_cache_task::tests::should_return_image_on_wait_if_image_is_not_yet_loaded ... ok
test image_cache_task::tests::should_return_image_not_ready_if_data_has_not_arrived ... ok

failures:

---- resource_task::test_bad_scheme stdout ----
	task 'resource_task::test_bad_scheme' panicked at 'bleh', resource_task.rs:294



failures:
    resource_task::test_bad_scheme

test result: FAILED. 92 passed; 1 failed; 0 ignored; 0 measured

task '<main>' panicked at 'Some tests failed', /Users/jack/src/rust/src/libtest/lib.rs:243```