Add BSG interface to generically access I2C attached devices.
The transferred data limitations:
- the address must be on an even byte boundary,
- the chunk size must be no more than 64 bytes,
(these being limitations of the firmware).
So, to transfer more than 64 bytes, the caller must chunk up
the data into 64 byte chunks and perform multiple accesses.
The caller is responsible for setting the device address,
the data offset, the option bits, and the data length.