ABI airborne middleware inspired from Ivy with test program
test abi with structures
modify ABI includes to allow more custom structures
test prog for ABI with a Vect struct and pointer
Merge remote-tracking branch 'paparazzi/dev' into abi

Conflicts:
	Makefile
	conf/autopilot/setup.makefile
	sw/tools/Makefile
picked changes from spi_rewrite
* up to 30c07a6ba53e45453ed766c6ffefd6cd0d606493
spi mcu_periph: cosmetic changes, add/update copyright, doxygen for files
spi mcu_periph: better names for clock polarity and phase enum values
lpc21 spi mcu_periph: fix slave select for slave1
started fixing aspirin2 driver
change DSS name and type of I/O buffers to allow 16bit transactions
start rewrite of max1168 driver with new spi
add callbacks to spi driver and a missing status in max1168
more work on ms2100 for new spi (untested)
fix spi driver (register size)
fix max1168 driver (change status names)
fix ms2100 driver (callback declaration)
spi almost working but have a strange issue with uart driver
fix sending of I2C errors via telemetry
* we can't pass the address of a volatile var to the downlink macros:
  it will be cast to (const uint8_t*) and read byte by byte and hence not work properly if it is volatile
* you will also rightly get a warning "cast discards qualifiers from pointer target type"
* so we need to copy it to a non-volatile var before sending
still looking for the bug, but no luck :(