tree: Fix reading input from a named pipe
When reading from a named pipe, it is actually possible to get EOF multiple times, and get called multiple times as well. The column counting logic accounted for that, but the TreeRow was recreated each time the stdin handler was called, which resulted in an empty row being added to the list, which then broke the list item factory.
Fixes #71 (closed).