EHCI: Simplify short packet logic to use alternate pointer.

The alternate pointer is the software equivalent of the alternate
physical address in the hardware queue head part. The controller
follows that path, so we can follow the alternate pointer as well.
Simplifies and generalizes the logic.
EHCI: Move locking to be only around actually critical section.
EHCI: Implement debug transfers.
EHCI: Cleanup member declaration order to match definition.
USB: Remove check for UHCI in get_usb_pipe_for_id kdl command.

The bus managers check that the pipe belongs to them in their
respective debugger commands.
USB: Increase debug chunk size from 64 to 128 bytes.

The queue head structure in EHCI is bigger than the previous debug
chunk size. Multiple allocations therefore overwrote eachother.
USB: Warn if debug allocation does not fit debug chunk size.
USB: Cleanup hardcoded bitmap size.
usb_keyboard: Add support for debug keyboards on all HCIs.

Check for support of debug transfers from all HCIs and use the ones
that provide it.