move spawn_coroutine to a public header
port file_sink tests to Windows and fix a bug