Promote IOException in sendPacket()

When dongle is removed from computer, out.write() causes IOException to
be thrown, however sendPacket() catches it and doesn't give any feedback
for listeners or anybody else. That causes listeners to wait forever for
event that will never occur because message was not sent.

This patch promotes IOException as IOError to upper layers, so that
caller can handle it and react appropriately.