Bugfix z1 i2cmaster

Discovered a bug in the z1 i2cmaster.c. When there was more than 1 byte read from the slave there were another 2 extra bytes being read, this because of an i2c stop command that was issued too late to the msp430.

With most i2c slaves this wouldn't be a problem, but when you have a slave that automaticaly advances the adress pointer with every read from the master (like the hmc5843) you would skip and loose 2 registers.

Fix was to change the ISR to give the i2c stop command while the last byte is being read.