I2C Improvements

Added SMBus functions to the I2C device class, made I2C read/write functions more general, added IRTempSensor as a simple example of an I2C device derived class.