libdrizzle: drizzle_state_read: only call recv() if data is available.
This uses the "read ready" flag that already exists to avoid excess system calls. Without this patch, in non-blocking mode after sending a command, libdrizzle immediately calls recv(), which almost always returns EAGAIN. This patch avoids that, instead returning IO_WAIT. This causes the caller to wait for data on the connection using poll() or epoll() before calling recv().