Choose endpoints by direction rather than fixed order.
Choose endpoints by direction rather than fixed order.

This also allows the library to run on PyUSB 1.0.0b1, which lacks the
`.endpoints()` method.

bridadan/pyOCD,mesheven/pyOCD,c1728p9/pyOCD,oliviermartin/pyOCD,tgarc/pyOCD,mbedmicro/pyOCD,devanlai/pyOCD,geky/pyDAPLink,mesheven/pyOCD,0xc0170/pyOCD,mbedmicro/pyOCD,adamgreen/pyOCD,oliviermartin/pyOCD,bridadan/pyOCD,wjzhang/pyOCD,molejar/pyOCD,geky/pyOCD,geky/pyOCDgdb,pyocd/pyOCD,matthewelse/pyOCD,adamgreen/pyOCD,devanlai/pyOCD,tgarc/pyOCD,matthewelse/pyOCD,matthewelse/pyOCD,c1728p9/pyOCD,oliviermartin/pyOCD,flit/pyOCD,molejar/pyOCD,bridadan/pyOCD,tgarc/pyOCD,0xc0170/pyOCD,flit/pyOCD,wjzhang/pyOCD,devanlai/pyOCD,molejar/pyOCD,mesheven/pyOCD,pyocd/pyOCD,geky/pyOCD,adamgreen/pyOCD,wjzhang/pyOCD,0xc0170/pyOCD,c1728p9/pyOCD,mbedmicro/pyOCD