Read and write now work for I2C.

- Fixed Exception I2C define headers
- Changed read and write to write the register before continuing, the
  original way of doing it was not going to work because the way the I2C
  protocol works
- Updated the tests to reflect the new changes

issue #20