[spi][stm32] updated handling of different transaction lengths
- now tx buffer sizes are independent of rx buffer sizes
- uses a second dummy dma transmit transfer triggered of the
  first transmit dma ISR when 0 < tx_len < rx_len
[spi][stm32] Added second dummy buffer dma handling for rx too
- handled in the same way as tx
- simplifies completion interrupt timing, clearing registers and
  running callback and deselecting slave at the right time,
  AFTER the last byte is fully transmitted.
- Also updated comments.
[stm32][spi] refactor: spi_next_transaction function
[stm32][spi] refactor: spi_configure_dma function
[stm32][spi] style
[stm32][spi] removed other_dma_finished, always run rx dma till the end of transaction
[stm32][spi] rename x_use_dummy_dma to x_extra_dummy_dma
[peripherals] adxl345: enable measurement mode AFTER other configuration is done
[peripherals] adxl345_spi: set input/output length of spi transaction to actual lenghts
[stm32][spi] finally fix zero length cases...
should fix #348
[tests] update imu_b2_2 test to use hmc58xx driver
[stm32][spi] no functional changes, only readability/comments/dox
[airborne] move print.h to subsystems/datalink/uart_print.h
[airborne] removed unused and obsolete micromag
if the micromag sensor itself is still needed/used,
update the mag_micromag_fw module to use new spi subsystem
and make it arch/firmware independent
[fixedwing] remove extra joystick c file and move header to fixedwing dir
still ugly though...
Merge pull request #383 from paparazzi/fix_stm32_spi

fixes for STM32 SPI transactions:
can handle zero input or output lengths now, max1168 works again...
[tests] mag ms2100 peripheral test prog
[stm32][peripherals] ms2100: configure gpio, use drdy interrupt
[rotorcraft] motor_mixing: bound the maximum offset in case of saturation
- defaults to a third of the max command
- to change the default define MOTOR_MIXING_MAX_SATURATION_OFFSET
Should improve handling as per issue #385
Merge pull request #386 from flixr/motor_mixing_max_saturation_offset

[rotorcraft] motor_mixing: bound the maximum offset in case of saturation