I2c fixes

* depends on #1245
* uses pios_mutex instead of semaphore for locking
* fixes premature unlock in PIOS_I2C_Transfer()
* fixes excess irq disable calls in f3 driver
* fixes f3 diagnostics buffer mismatch
No, this is a mistake i made when applying the f3 and f4 changes to the f1 driver as well. Also it wouldn't match the comment line any more.