Make first I2C transaction not abort

**NOT FOR MERGE**

The first I2C transactions were aborting prematurely, as shown by this screenshot

![screen shot 2013-07-19 at 7 35 25 am](https://f.cloud.github.com/assets/618346/825815/8009c9fc-f076-11e2-8015-682a017c2c3b.png)

This was because the ready semaphore is not claimed at startup.  Although this fixes the driver it actually breaks things too.

Sparky: needs #751 or some variant
Quanton: baro works, **mag breaks**
FlyingF3: no problems found
CC3D: does not have any I2C sensors, NA
FlyingF4: needs testing

Also ideally boards should be tested with battery and USB applied since that was what led to me finding this bug