ivory-px4-hw: allow mpu6000 init machine to retry 3 times

- sometimes, after first booting the board, the mpu6000 does not
  respond on the first try. I've never seen it take more than 2
  tries.
- still another bug with the spi driver hanging
ivory-px4-hw: change mpu6000 sample struct to have ifail/sfail fields

- now that we have mostly solved initfails, time to move on to
  figure out what causes sample fails (prob in the spi driver)
ivory-bsp-stm32: spi driver bugfixes

- no longer clear txeie/rxneie in signal event, this leads
  to missed events. disabling the interrupt only is sufficient
- set interrupt to syscall priority (major bug breaks os invariants)
- device select AFTER bus begin - ensures clock is in correct idle state
  before activating device.
ivory-px4-tests: mpu6000 sensor manager reports init and sample errors
ivory-serialize: better error checking

- now reports final offset requested if out of bounds,
  not first out of bounds offset. more useful for debugging.
ivory-px4-tests: ublox test changed to use serialization
ivory-px4-tests: sensors monitor understands gps (position) messages
ivory-px4-tests: add ublox support to all sensors test

crashes occasionally - think it may be hanging in i2c peripheral driver.
ivory-bsp-stm32: uart driver hit/miss debugging variables have better names
temporary up uart priority to 4
ivory-bsp-stm32: i2c driver has error state for more robustness

- can now detect when missed an rx byte via btf flag, enter an error state
  to terminate transaction and reset peripheral
- these errors happen a whole lot in the px4-all-sensors-test! but not at
  all when the scheduler isn't contested, like in the ms5611-test or
  hmc5883l-test
- still occasionally fails when preempted during rx event handler
build system: move FreeRTOSConfig to more sensible directory, hwf4 includes just to those who need it
Merge branch 'driver-fixes' into master

- drivers should be more reliable now, but all-sensors-test will still
  get an i2c hang eventaully

Conflicts:
	src/ivory-px4-hw/SMACCMPilot/Hardware/MPU6000/SPI.hs
	src/ivory-px4-hw/SMACCMPilot/Hardware/MPU6000/Types.hs
	src/ivory-px4-tests/PX4/Tests/MPU6000.hs
	src/ivory-px4-tests/sensorsmonitor.py