Makes `write` Task-blocking by default

As discussed @JeffBezanson. 

This has several benefits:
 - The ability to report error correctly
 - Avoiding extra copies since the data is rooted by the Task Stack and is most likely task-local
 - Some amount of rate-limiting when writing in a tight loop (if this is really what you want to do, you should take care of rate limiting yourself and use the `write!` function).