F3 I2C: fix for first transaction

Do the same thing as F1/F4 with regard to the sem_ready semaphore
which is to make sure the driver grabs it for before the first
transaction and then wait for it to be available again.  This
is an alternative to the fix suggested in 755 but consistent
with the other drivers.
Merge pull request #767 from peabody124/f3_i2c_fix

F3 I2C: fix for first transaction
Sparky: add programmable DLPF and gyro rate
MPU9150: verify the IRQ line is firing for successful init

Previously we got the semaphore once but this would pass even if the
IRQ line were not triggering.  By taking the semaphore twice we catch
this error and show the appropriate panic status.
MPU9150: Separate panic code for IRQ and config failure

Most failures I've observed are becaues the IRQ line is not
pulsing so giving that a specific panic code for easier
diagnostics.
PIOS MPU9150: no need to reset signal path

Now the first reset command is succesful (with #755) there is no
need to reset the signal conditioning path.  Also, 50 ms are required
before talking to the chip instead of 10 (determined empirically).
Merge pull request #751 from peabody124/spark_mpu9150

Sparky MPU9150 initialization fix