Revc1i2c

Error handling to I2C, proper handling of repeated starts and a ton of other "details" that were glossed over by eLua. To be fair the same details are glossed over by every reference implementation I could find.

Anyway accessing I2C devices now works, also includes a handy baseclass for basic I2C operations on a device, it can be subclassed to provider nicer API for accessing the accelerometer (or any other device).