Extracts USB device management into a `UsbRepository`.
In order for `SerialInterface to gain access to this prior to
the `RadioInterfaceService` being fully natively dependency
injected, all `InterfaceFactory` implementations needed
to be modified to accept the `UsbRepository` via argument. This
will go away in a future PR.
Changed `assumePermission` constant to `false` as it was preventing
the request for permission from occurring, breaking serial connectivity.
Minor improvement: SerialInterface re-bonding by device name is
now supported.