stream: make Writable#end() accept a callback function

This is more backwards-compatible with stream1 streams like `fs.WriteStream`
which would allow a callback function to be passed in as the only argument.

Closes #4719.
v8: loosen artificial mmap constraint

Fixes #4010.
tls: port CryptoStream to streams2