Did what I could to get Raspberry Pi to properly read the first byte
in Slave read mode. Successive bytes read OK, but the first byte after
the SLA+R ends up being read on the RPi with the high bit clobbered.
Apparently there are defects on the RPi side, it's I2C driver and
with the ATmega168P also (and others). Problems communicating with
problems. The one thing is that the ISR needs to respond quickly to
avoid stretching the SCL. Code for Slave I/O was moved up front of
the ISR, with no change at the RPi end.
Added capability to compute the divisor and best prescale index.