[core] clean up and simplify USB port & speed detection

* Also fix non-present devices being enumerated
* Also add a message in the log when an USB 3.0 device is detected operating at lower speed