Added preprocessor directives to separate I2C Master and Slave code.
Changed I2C status to use an enumerated type instead of #defines.
Renamed I2C status types to match convention.  Changed I2C error codes to an enumeration as well.
Added prototypes for master send and receive functions to define interface goal.
Expanded master status to include substatus too.  Renamed master read function.
Filled in I2C substates.
Added placeholder definitions for I2C master functions.
Added initial attempt at I2C master configuration.
Added debug option to ignore NACKs.  Partially completed I2C Master writes (up to and including sending the first data byte).  Also lots of formatting changes in my_i2c.c from running the auto-formatter and some refactoring.
I2C Master write now sends all data bytes.
I2C Master write now handles the completion of a stop.  Also completed very basic error handling.
Improved I2C Master error handling.
Corrected documentation for I2C Master read and write methods.
Split I2C Master and Slave funciton definitions into two separate source files.
Refactored i2c_comm members.
I2C Master read implemented up to the Restart condition after writing the register address.
I2C Master read sends the address and R bit after the Restart.
I2C Master read completed.
Added I2C Master driver busy check method.
I2C Master read includes received data in the success message sent on completion of a read.