unix: guarantee write queue cb execution order in streams

The problem is that currently the canceled write callbacks
are being called before the already written callbacks, even
though they were queued after them.
If we succeed immediately, then the write callback has been called in the uv_run(NOWAIT) and the write_requeust is free to use.