CEC: add getDeviceList()

Returns the list of all the connected CEC device information. This is
different from getInputDevices() which returns devices of source type only.

For this, turned the local device address list to unmodifiable so that it can
be used by any threads.

Now respects the device type info passed through <Report Physical Address>
rather than always defaulting to the one from HdmiUtil.getTypeFromAddress().
This ensures future compatibility when a device of reserved logical address
comes with a specific type.

Bug: 18046603
Change-Id: I5f7d5e31706efba1ad5dcf4bcfd4ffc918d1d940
6 files changed