Remove device type from the uftdi_devs table, enhance the jtag-skip feature.
Device type and revision is now determined from the bcdDevice field and
doesn't need to be in the table at all. The feature that skips creation
of /dev/ttyU* entries for jtag and gpio interfaces is enhanced:
- The feature is now optional, but enabled by default. A tunable and sysctl are available to control it: hw.usb.uftdi.skip_jtag_interfaces.
- We no longer assume interface #0 is the only jtag interface. Up to eight interfaces per chip can be flagged as jtag. (Current ftdi chips support a max of 4 interfaces; this leaves room for growth.)
- Some manufacturers don't change the product ID or use the same ID for different devices intended for both serial-comms and jtag/gpio use. Often while the product ID is the same, the product name string is different, so it's now possible to search for the product name in a table of strings and get the set of non-tty interfaces from that table.