destroy streams explicitly

`.pipe()` doesn't do this. On any error one of the streams will remain open.