This adds a new function `uv_write_cancel` which requests the
cancellation of an in-progress write as soon as possible, possibly
causing a short write. The exact timing of the cancellation is stream type
and kernel dependent. A cancelled request will receive the ordinary write
callback with `UV_ECANCELED` and the new function `uv_write_nwritten`
can be used to determine if the write request was partially fulfilled.