Use an unsigned int for timeout in usb_ftdi_read_timeout in avalon.
Don't read tv_finish in the convoluted first pass way any more in avalon_gets.
Get the avalon result after sending the idle message.