Add I2C_STATE_IDLE

This adds a new state to the state machine which is used when a slave is
idle (i.e. between transactions or after a non-matched address).
This fixes problems when more than one slave are attached to the same
bus.