android_adb: Fix some more issues, add some polling logic

We need to properly block the reading guest side if there is no data
available.

We also need to wake up the other side only when data is flowing in the
right direction.  The previous use of wake up functions was a
misinterpretation of the example in the android_pipe file.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
android_pipe: make sure we set-up a watch when we sleep

The handshake was successful, we just needed to ensure we woke everyone
up when there was more data.