hwf4: Fix SPI ISR timing bugs.

- If interrupts were disabled during a transfer, we'd occasionally
  drop bytes due to TXE and RXNE being set in the same interrupt.
  Alternate strictly between TXing and RXing to avoid this.
- Added more timeout to SPI transfers to avoid lockups.
Fix gdb-init for STM32F4 Discovery boards.
Add example of how to debug context switching on logic analyzer.

- Enabled a few FreeRTOS features to support this.
Build the ArduPilot AHRS module and add it to sensor test.

- There seems to be some errors in the accelerometer values causing
  the AHRS output to go crazy.  This is primarily useful for testing
  the HAL scheduler until these errors are fixed.