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
How did you determine this is no longer needed? Sorry I'm question every line :(