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: Use a robust method to set registers during init

Previously we didn't check for failure to assign register values
or repeatedly retry.  Now it attempts to set the registers up to
10 times before indicating a failure.  Failures are then passed
out to trigger a panic.
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).
PIOS MPU9150: no longer need robust set

The I2C driver is fixed now and this isn't needed
at initialization.