node module: drain an object stream and wrap it in a promise