use pipe for readStream

prevents method from reading all data before it’s ready for it.
fix assertion error in test

underlying ftp client is calling false back for error. It shouldn’t do that, but oh well.