[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
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...