Completely refactor the stream event handling

Instead of using select.select() to wait for input, use the methods
provided by paramiko's client channel object.

Read from both stdout and stderr, and send ErrorEvent if anything is
received on stderr.

Ref #1
Fix #12

Change-Id: Ic67392cb9d689a1f457f5d02eb17a5432112a0c0