Make it possible for the libuv user to handle out of memory conditions gracefully. When alloc_cb() returns a buffer with len==0, call the read or recv callback with nread=UV_ENOBUFS. It's up to the user to stop or close the handle. Fixes #752.