Expert Comment Needed on a New I2C Library API

Bill, the i2c's sda and sck work as open drain/collectors (!), where they need pullups. The atmega's internal pullups are 20k+ (it could be up to ~50k). Recommended values are 2k2-4k7 for 100kHz, with lower resistances @400kHz. With longer wires, lot of stray capacitance, lot of devices (ie. I have 5 slaves just now) you need to be careful with pullups values.
Below you may see signal shapes on the i2c bus with 2k2, 4k7 and 20k(internal pullup) @400kHz speed and 100pF bus capacitance..