server/red_channel: red_channel_event: push on blocked
server/red_channel: red_channel_event: push on blocked

try to push either on signal (write available) or when blocked
and read signaled. From red_worker, copied for compatibility when
switching later to RedChannel in red_worker. Doesn't make a lot of
sense (but works), see comment in patch.

ya-mouse/spice,freedesktop-unofficial-mirror/spice__spice,elmarco/spice,mathslinux/spice,Fantu/spice,dezelin/spice,dezelin/spice,Fantu/spice,mathslinux/spice,ya-mouse/spice,mathslinux/spice,alon/spice-server,freedesktop-unofficial-mirror/spice__spice,fgouget/spice,Fantu/spice,mathslinux/spice,freedesktop-unofficial-mirror/spice__spice,alon/spice-server,ya-mouse/spice,SPICE/spice,elmarco/spice,dezelin/spice,dezelin/spice,dezelin/spice,alon/spice-server,fgouget/spice,elmarco/spice,SPICE/spice,SPICE/spice,alon/spice-server,freedesktop-unofficial-mirror/spice__spice,freedesktop-unofficial-mirror/spice__spice,Fantu/spice,elmarco/spice,alon/spice-server,fgouget/spice,elmarco/spice,fgouget/spice,mathslinux/spice