remove error raising by pipe error

to fix error on benchmark, we change the behavior of io:read so that is returns nil for pipe error (mainly because of closing remote peer), instead of raise pipe exception.