serial_link: Give up on IOError in ListenerThread.

This prevents spinning and eating memory when the USB port is unplugged with pyserial.
pylibftdi will still fail.

<!---
@huboard:{"order":114.875,"milestone_order":145.0,"custom_state":""}
-->

Lines 172-174 also catch a specific case of getting an OSError when waiting for the sync byte. I think we can consolidate these and catch the OSError here instead.

Also, I think instead of printing the backtrace it should print something more helpful for non-developers like "Error: Piksi Disconnected"