stream: add _end method to write streams (equivilent to _flush)
Adds the ability to for write streams to have an _end method which acts
similarly to the _flush method that transform streams have but is called before
the finish event is emitted and if asynchronous delays the stream from
finishing. The end
option may also be passed in order to set it.
Inspired to finally write this after losing a day to an error that ended up being because I was listening to finish but writing something in flush.
Method name is bikeshedable
previous discussion here nodejs/readable-stream#112