Fix #1982

I originally had IO::copy_stream here, but there's some bug causing it to write fewer bytes than necessary. The resulting tar would look like:

```
% tar -tf build/logstash-2.0.0.dev.tar.gz
logstash-2.0.0.dev/LICENSE
logstash-2.0.0.dev/CHANGELOG
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
```

The cause is IO::copy_stream writing fewer bytes than the file's actual length.