http: use writev on chunked encoding

Now will process all write() that were done on a single tick in a single
writev().

There's still a strange decision about only using writev on chunked encoding if the input was a Buffer. Why it wouldn't be allowed for strings I find strange. Going to also fix that.