Fix Runner.streamOutput and add tests for it

Previously Runner.streamOutput send empty strings through the channel.
This keeps Runner.streamOutput from sending empty strings but also keeps
previous behaviour that keeps from dropping lines that do not contain a
new line character.