Support for AMD ADL as a backend

AMD ADL is a part of the proprietary AMD Catalyst driver that is capable to
provide access to displays' DDC interface. And it looks like there is no
other way to implement DDC/CI on a Catalyst (direct PCI access for
newer adapters is broken, no /dev/i2c either).

Patch provides adapter and display enumeration (probing) and access to the
corresponding i2c bus functionality (EDID, DDC/CI).

Device naming scheme is like this: "adl:<adapter>:<display>".

Please note that for unknown reason ADL thinks that there's multiple
active adapters and yet they're the same.
Support for AMD ADL as a backend
Fix buffer overflow.

buf[8] is too small, for example capacity of LG Flatron L196WTQ