Modified the master i2c support for the bcm2708 so that i2c repeated

I changed the i2c master such that repeated starts can be used. It requires polling, so I limited their use to mostly SMBus. Some other non-SMBus cases will also use repeated starts, but only when doing so is allowed by i2c. I tested it with a MLX90614 (an infrared thermometer using SMBus) and a BMP085 (pressure and temperature sensor using I2C) on the same bus.