Do kit detection & a bit of cleanup

Each kit now keeps track of its USB VID/PID combination, and uses a new
serial_utils function to find the TTY using VID/PID/driver.

Annoyingly, the flow and the kit find ttys separately, and I don't see a
good way to sync them up without doing another refactor to unify
BluetoothHID and BluetoothHIDFlow.
(This larger refactor is now a bug: http://crbug.com/764055 )

Driver names for Bluetooth are now solely contained in the kits, and we
don't have to specify a string in fpga_tio. (Fixed a TODO.)

Increase BT kit detection timeout from 2 to 5 seconds, and track tuning
in a new bug. http://crbug.com/763504

IMPORTANT: This timeout was increased because the first detection after
enabling the driver was taking too long. This may increase startup times
by ~10+ seconds on Chameleons without a bluetooth kit.

BUG=chromium:752719
TEST=Run this code on the Chameleon board, with both kits attached:
$ make && make remote-install CHAMELEON_HOST=$CHAMELEON_IP
Execute the non-flaky non-stress tests that use this code,
see that the tests pass:
$ test_that --board ${BOARD} --args "chameleon_host=${CHAMELEON_IP}" \
${DUT_IP} bluetooth_AdapterPairing.mouse \
bluetooth_AdapterPairing.mouse.pairing_twice \
bluetooth_AdapterHIDReports.mouse

Change-Id: I8a74fb57b337ea89a6da7ba0955f4d95ba56a5eb
Reviewed-on: https://chromium-review.googlesource.com/636218
Commit-Ready: Alexander Lent <alent@google.com>
Tested-by: Alexander Lent <alent@google.com>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
7 files changed