[peripherals] pass the full PeripheralScanResult to CPeripheral constructors (cleanup)
[peripherals] use a separate field for mapped bus types in PeripheralScanResult or setting won't be loaded
[cec] ensure that the updater thread has been stopped before trying to stop the main thread or we'll be waiting a long time to exit when the tv can't be polled
[peripheral] support for multiple adapters of the same type