Support for 3rd party USB Vendor IDs in adb.

Vendor IDs are read from ~/.android/adb_usb.ini. The format is very simple:
1 number per line. First number is ID count, followed by the ID themselves.
Lines starting with # are considered comments.

Other misc changes: moved VENDOR_ID_* to usb_vendors.c to prevent direct
access. Made transport_usb.c reuse the USB constant introduced in usb_osx
(moved them to adb.h)
diff --git a/adb/transport_usb.c b/adb/transport_usb.c
index 50ebff7..3737c5c 100644
--- a/adb/transport_usb.c
+++ b/adb/transport_usb.c
@@ -135,11 +135,9 @@
     unsigned i;
     for (i = 0; i < vendorIdCount; i++) {
         if (vid == vendorIds[i]) {
-            /* class:vendor (0xff) subclass:android (0x42) proto:adb (0x01) */
-            if(usb_class == 0xff) {
-                if((usb_subclass == 0x42) && (usb_protocol == 0x01)) {
-                    return 1;
-                }
+            if (usb_class == ADB_CLASS && usb_subclass == ADB_SUBCLASS &&
+                    usb_protocol == ADB_PROTOCOL) {
+                return 1;
             }
 
             return 0;