TWEA bit in TWCR register needs to be cleared to send NACK.
Clear it when too many bytes were received, re-enable it after
when going idle.
Add missing state for prev. send NACK.
Catch all invalid states and reset bus.
TWINT bit needs to be set every time in ISR.
- sizeof(info) should not be increased (16->18) since the size is never
exchanged with the I2C master. Also using a non 2^x size will result
in bigger code since the compiler can no longer use a simple AND to
implement the bcnt %= sizeof(info).
- when using a info[16] the firmware is small enough to fit in a 512
word bootloader again :)