Fixed some issue related to using a stream to write binary data passed as array

This path fixes:
- Reject drained promise when a write error occurs
- Convert content to Buffer if content is not a string

Note: something in node.js must have changed which cause this "regression"