stm32f30x/pios_i2c: fixed PIOS_I2C_EV_IRQ_Handler diagnostics
stm32f30x/pios_i2c: removed unused TransferCallback api function
stm32f30x/pios_i2c: use pios_mutex for bus locking, was pios_semaphore
stm32f30x/pios_i2c: fixed event overflow by removing excess PIOS_IRQ_Disable calls
stm32f30x/pios_i2c: fixed possible data race in I2C_Transfer
stm32f4xx/pios_i2c: use pios_mutex for bus locking, was semaphore
stm32f4xx/pios_i2c: fixed possible data race in I2C_Transfer
stm32f10x/pios_i2c: use pios_mutex for busy locking, was semaphore
GCS/SparkyBGC: updates to the board plugin

Added image of the Sparky BGC board and query the maximum gyro
range.
SparkyBGC: remove code for MPU 6050

Conflicts:
	flight/targets/sparkybgc/fw/pios_board.c
SparkyBGC: remove reference to MS5611
SparkyBGC: remove ADC code

These pins are no longer broken out and it was breaking
the PWM outputs.
SparkyBGC: remove references to main port
SparkyBGC: add HwSparkyBGC uavobject settings

This gives the BGC board a custom setting. Now that it has
different ports than Sparky this is appropriate.
stm32f10x/pios_i2c: fixed possible data race in I2C_Transfer
SparkyBGC: update copyrights
Modueles/Brushless: fix typo
Merge pull request #1252 from peabody124/sparkybgc_cleanup

SparkyBGC cleanup
Merge pull request #1247 from lilvinz/i2c_fixes

I2c fixes
Merge remote-tracking branch 'upstream/next' into draco

Conflicts:
	ground/gcs/src/plugins/uavobjects/uavobjects.pro