Eliminate zombie (defunct) processes

Previously, zombie processes were left over during conversion. There
were two causes:

1. When IO.popen was called, the IO object was not closed implicitly
2. When Timeout::Error was thrown, the forked process was not reaped

The former was solved by using a block, which closes the IO object at the
end. The latter was solved by calling Process#wait in the rescue block.