drivers: i2c: add convenience wrapper for common I2C transaction pair
drivers: i2c: add convenience wrapper for common I2C transaction pair

It is commonly necessary to execute a pair of I2C transactions where the
first is a write transaction that identifies information held on the
device and a second is a read transaction that retrieves the identified
information.

Add API that performs this operation generically, without restricting
the type or size of the identification or content messages.  Follow the
argument order of the existing i2c_write and i2c_read methods.

This reduces the need to explicitly construct buffers for i2c_transfer,
or to use more restrictive API functions that perform a gather write
that is not reliable on all I2C bus driver implementations.

Signed-off-by: Peter A. Bigot <650538893330be855f76604594b4820eb226769e@pabigot.com>

zephyrproject-rtos/zephyr,ldts/zephyr,ldts/zephyr,ldts/zephyr,galak/zephyr,explora26/zephyr,GiulianoFranchetto/zephyr,finikorg/zephyr,galak/zephyr,nashif/zephyr,Vudentz/zephyr,finikorg/zephyr,explora26/zephyr,ldts/zephyr,Vudentz/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,galak/zephyr,explora26/zephyr,GiulianoFranchetto/zephyr,GiulianoFranchetto/zephyr,zephyrproject-rtos/zephyr,zephyrproject-rtos/zephyr,Vudentz/zephyr,nashif/zephyr,galak/zephyr,nashif/zephyr,explora26/zephyr,explora26/zephyr,nashif/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,GiulianoFranchetto/zephyr,zephyrproject-rtos/zephyr,ldts/zephyr,finikorg/zephyr,nashif/zephyr,Vudentz/zephyr,finikorg/zephyr,Vudentz/zephyr