Proposition of a Robust I2C Communication

I noticed inconsistencies in the code of the sensor libs, related to the use of Wire.begin() in several places, sometimes with different local addresses. This has been solved by regrouping all calls for I2C into a single class I2CComm that manages the begin(), transactions, read/write, etc. This class has been designed to return error codes that can be exploited to make the sensor pooling robust in the sensor libs.

This modification has been propagated to SAT_Lum, SAT_Mag and SAT_Temp. All examples have been modified consequently.

Hope it helps,
J.F.