I2C Improvements

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